我正在开发MVVM,我对它并不熟悉,我想知道在哪里实施INotifyPropertyChanged
?
我是在 ViewModel 中实现的(根据我的理解,这是正确的)我处于这样一种情况:我需要在View中修改检索到的数据,一旦数据被修改,将其保存在属性,一旦分配/更改视图中的适当性,我希望ComboBox选择itemsource,这将是已更改的属性并保存修改后的数据。
那么在这种情况下我该怎么做?我应该在视图中实现INotifyPropertyChanged
并使用:
PropertyChanged += new PropertyChangedEventHandler(PropertyChanged_implimentation); ?
我该怎么办?
答案 0 :(得分:0)
通常,您会在视图模型上实施INotifyPropertyChanged
。如果您需要通知任何消费者他们的属性更改(例如视图模型),您也可以选择在您的模型上实现它。
您通常不会在视图上实现INotifyPropertyChanged
,因为您将使用XAML绑定在视图和基础视图模型之间进行通信。
INPC
就会通知您的视图自行更新。只要视图中的控件值发生更改,绑定引擎就会更新视图模型中的绑定属性值。
可以找到MVVM的一个很好的介绍here,我也强烈建议使用MVVM framework用于任何类型的严肃应用。