我有WPF窗口标题属性绑定到ViewModel ReadOnly属性为:
Title="{Binding ClientAndDate}"
ViewModel属性如下所示:
Public ReadOnly Property ClientAndDate As String
Get
Return SelectedClient.Name) & " " & SelectedClient.Date)
End Get
End Property
我在ViewModel中实现了INotifyPropertyChanged,但由于这是ReadOnly属性,当SelectedClient.Name或SelectedClient.Date发生更改时它将如何通知UI更新?
答案 0 :(得分:2)
如果您订阅了SelectedClient
的PropertyChanged事件,那么只要ClientAndDate
或Name
为Date
,您就可以在SelectedClient
媒体资源的viewmodel中引发属性更改事件财产变更的原因来自ClientAndDate
。
即使{{1}}属性是只读的,但在viewmodel中的任何位置为其引发属性更改通知都会导致绑定子系统从属性中刷新自身。
答案 1 :(得分:-1)
您必须制作一些“通知”方法。
喜欢这个。
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
并使用“ClientAndDate”参数调用它,每个tyme都需要更新UI。
“ClientAndDate”是已更新的属性的名称。
Here是GET语句的完整示例,但您可以使用相同的方式。