模型类的INotifyPropertyChanged

时间:2015-09-09 14:40:03

标签: wpf mvvm mvvm-toolkit

通常需要在Model类,ViewModel类或两者上实现INotifyPropertyChanged吗?是否可以仅在Model上实现,而不是在Viewmodel上实现?如果不是可能的模型那么为什么

1 个答案:

答案 0 :(得分:2)

您必须了解INotifyPropertyChanged的含义。它的目的是在WPF中定义Binding时从目标到源提出通知。 DependencyProperty和INotifyPropertyChanged与绑定概念的自动注释相关。如果需要在viewmodel上绑定属性以进行查看,则必须实现通知机制,以便在Viewmodel中发生更改时通知UI。模型应用于View的相同规则。

假设您要编写。Viewmodel.Name =" my new name"之类的.CS文件,并期望TextBox显示更改的名称。

<TextBox Text="{Binding ViewModel.Name} "/>

这里的视图模型需要实现INotifyPropertyChanged。

<TextBox Text="{Binding Model.Name} "/>

这里的模型需要实现INotifyPropertyChanged

希望它澄清一下。