|
|
1
3
WPF中显示数据的标准方法是将控件绑定到它(请参见 Data Binding 在MSDN中)。这可能需要包装或重构messenger类,以便它公开可绑定的属性。例如,您的messenger类可能会公开一个名为messagetext的属性,每次收到消息时都会更新该属性:
现在,您将把textbox.text属性绑定到此新属性:
这假定messenger对象设置为窗口的DataContext,例如,当窗口创建messenger时:
注意,您的messenger类必须实现inotifyPropertyChanged才能使其工作。还要注意单向绑定,这样如果用户编辑文本框,它就不会弄脏messagetext属性。(您也可以使用文本块,这样用户就根本无法编辑它。) 设置好后,wpf将自动监视mymessenger.messagetext属性中的更改,并在发生更改时(即收到消息时)更新textbox.text。 最后,关于如何发送:只需传递文本:
使用name属性命名包含要发送消息的文本框:
|
|
|
2
0
只想稍微扩展一下伊托森的话: 我先创建这样的接口:
实现这个接口的类的行为应该非常简单。当接收到消息时,它将被添加到
接下来,我将构建一个实现
然后我将向窗口添加代码以创建此类的实例并设置
一旦我让UI处理我的测试对象,我将构建另一个实现相同接口的类,只有这个类会创建一个私有的
实际的消息传递客户机可能需要更加复杂,例如,您可能希望实现
|
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |
|
|
Barta · WPF MVVM不更新视图 1 年前 |
|
|
Denis Ivanov · WPF控件在属性更改时不会更新 1 年前 |
|
|
codymanix · WPF:TextBlock周围可见小边框? 1 年前 |
|
|
Nostromo · 来自背景对象的工具提示 1 年前 |
|
|
Nuvolari · 从可观测集合添加/删除时出现对象处理异常 2 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 2 年前 |
|
|
Thern · 在UI线程(WPF)上的void方法中调用异步函数 2 年前 |