UserControl 与 Windows 之间的交互

2023-12-11

我创建了一个包含一些控件(按钮和复选框)的用户控件。

之后,我在 WPF Windows 中添加了对该 UserControl 的引用。

我想要做的是:当我单击 UserControl 中的按钮时,该按钮会触发一个操作并更改 Windows 中的某些内容(Textbox1.Text =“something”)。

我的问题是我无法从 UserControl 访问 Windows 内部的控件。

有什么帮助吗?

EDIT:添加了代码示例

<s:SurfaceWindow x:Class="Project.Temp.MainSurface"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:s="http://schemas.microsoft.com/surface/2008"
                 xmlns:local="clr-namespace:Project"              
                 Title="Project.Temp"
>
<Grid x:Name="Root" ... >
     <Grid x:Name="Child" ... >
         <local:MyUserControl x:Name="UserControlStart" ... />
     </Grid>
...
</Grid>

有多种方法可以实现这种“沟通”...以下只是其中一些方法...还有更多方法:

1)定义一个命令...单击按钮时将引发该命令。

然后在您的窗口中,您将处理该命令,并将文本框更改为某个字符串。

如果您想提供一些数据/上下文,可以使用 CommandParameter。

2) 定义一个 RoutedEvent(冒泡事件),它会在树中冒泡,然后 Window 可以处理它。该事件将由用户控件中的按钮引发,并将包含您想要在窗口中设置的“文本”。

3)如果你的“东西”是一种“状态”指示器...那么你可以在你的 UserControl 上提供一个“状态”属性(或者另一个选项有一个包含状态数据的 ViewModel)。然后,您的 TextBox 可以绑定到 UserControl(或 ViewModel)上的该属性以获取“状态”(作为一个值,然后使用转换器将其“转换”为可显示的消息,或者作为直接字符串)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UserControl 与 Windows 之间的交互 的相关文章

随机推荐

  • 访问API网关时缺少身份验证令牌?

    我正在尝试通过 AWS API Gateway 调用 Lambda 函数 当我提到身份验证类型 NONE 时 它工作正常 但 API 变得公开 任何拥有 url 的人都可以访问我的 API 为了使 API 调用安全 我使用身份验证类型 AW
  • 如何在 Azure 应用服务中使用 .Net Core 应用程序发布 Angular 9 Universal

    我使用 Angular 9 创建了一个 Asp NET Core Web 应用程序 我已将 Angular Universal 添加到我的应用程序中 现在我需要将我的应用程序发布到 Azure 应用程序服务中 我使用以下命令来构建应用程序
  • 支持文本路径的文本渲染库

    我需要一个良好 可靠的库或工具链 用于以编程方式将具有不同大小 字体 粗细等的文本渲染为 png 它还需要能够以弧线或路径渲染文本 我希望它能够很快 因为我会像在服务器上运行它一样 我尝试过使用 SVG 和librsvg 但这不会渲染
  • iPhone键盘返回键颜色

    我们可以改变iPhone键盘返回键颜色的颜色吗 苹果支持吗 如果是的话 你能帮我改变它吗 没有可用的公共 API 如果您使用私有 API 那么您的应用程序将在应用程序商店中被拒绝
  • 多种数据类型的列表?

    我有两个这样的课程 public class MachineLine public double X1 public double Y1 public double X2 public double Y2 public double Thi
  • 如何从 Windows Phone 7 或 8 获取用户自己的手机号码

    我想提取 用户own手机号码 不是他的整个电话簿 我使用c 作为开发语言 谢谢 如果您想获取设备自己的电话号码 目前还不可能
  • Spring Cloud Dataflow 有什么好处?

    根据我所看到的 在 Spring Cloud Dataflow SCDF 中创建流将部署底层应用程序 绑定通信服务 如 RabbitMQ 设置 Spring Cloud Stream 环境变量并启动应用程序 这一切都可以使用 cf Push
  • 在 msvc 2010 中构建 boost MPI 时出错

    我已将 openmpi 安装在 C Program Files OpenMPI v1 5 4 win32 中 并希望编译 boost 以生成图形并行库 但出现以下错误 The system cannot find the path spec
  • 如何在 React JSX 中调用 Web API?

    我正在使用 React 和 Electron 编写一个音乐播放器 并希望添加音频元数据 以便获得 MPRIS 支持 所以我做了一些搜索并发现媒体会话API是我所需要的 为了测试它 我将上述链接包含的示例代码中的代码复制到我的项目中的函数中
  • JPA Query.getResultList() - 以通用方式使用

    我正在创建一个包含多个表的复杂查询 并且需要列出结果 通常 我使用EntityManager并将结果映射到 JPA Representation UserEntity user em find UserEntity class 5 然后我可
  • 设置和禁用 JToggleButton 的图标

    你好 我正在尝试制作一个使用 JToggleButton 的匹配记忆游戏 最重要的是 当我按下按钮时 它必须显示一张图片 并且我必须找到另一张相同的图片 所以问题是当我创建一个没有任何图标的按钮时我不能使用其他方法 setRollOverI
  • 过滤 elmah 中的异常文本

    有没有办法使用异常消息过滤 elma 中的异常 例子 System Web HttpException 请求超时 我不想过滤掉所有的 HttpException 而只想过滤掉超时的请求 System Web HttpException 超出
  • 如何读取带有空格的 cin 直到换行符?

    我希望从 C 中的 cin 读取当前位置直到换行符到字符串中 要读取的字符可能包含空格 我的第一遍失败 因为它停在第一个空格上 string result cin gt gt result 如果给出 cin cd my dir doSome
  • R:当情况并非如此时,LIME 在不同的特征编号上返回错误

    我正在构建克林顿和特朗普推文的文本分类器 数据可以在Kaggle 我正在使用 EDA 和建模quanteda包裹 library dplyr library stringr library quanteda library lime dat
  • 如何以编程方式获取 python.exe 位置? [复制]

    这个问题在这里已经有答案了 基本上我想获得 python 解释器的句柄 这样我就可以传递一个脚本文件来执行 从外部应用程序 这适用于 Linux 和 Windows Python 3 x gt gt gt import sys gt gt
  • 替换数组中的对象

    我有这个 JavaScript 对象 var arr1 id 124 name qqq id 589 name www id 45 name eee id 567 name rrr var arr2 id 124 name ttt id 4
  • React,从 json 加载本地图像

    是的 这个问题可能与其他问题重复 但我找不到这个问题的解决方案 我创造一些简单的东西 1 个读取 json 并加载图像的组件 The json images id 1 url assets images slider croissant o
  • 创建 SVG 进度圈

    有人知道如何在 svg 中创建一个圆形 进度条 吗 我需要指定圆圈的百分比 例如颜色在蛋糕形状中增长的百分比 只要我有一个属性可以改变其当前状态 增长就可以是静态的 以下是我曾经使用的想法 稍加修改css and animation标签我们
  • 如何在 Brightway 中保存新的 LCIA 方法

    我有以下格式的特征因素列表 biosphere3 key characterization factor 这是一个快速摘录 my cfs biosphere3 e259263c d1f1 449f bb9b 73c6d0a32a00 1 0
  • UserControl 与 Windows 之间的交互

    我创建了一个包含一些控件 按钮和复选框 的用户控件 之后 我在 WPF Windows 中添加了对该 UserControl 的引用 我想要做的是 当我单击 UserControl 中的按钮时 该按钮会触发一个操作并更改 Windows 中