Silverlight中的INotifyPropertyChanged问题

时间:2011-06-10 00:56:31

标签: silverlight mvvm view viewmodel inotifypropertychanged

我正在开发MVVM,我对它并不熟悉,我想知道在哪里实施INotifyPropertyChanged

我是在 ViewModel 中实现的(根据我的理解,这是正确的)我处于这样一种情况:我需要在View中修改检索到的数据,一旦数据被修改,将其保存在属性,一旦分配/更改视图中的适当性,我希望ComboBox选择itemsource,这将是已更改的属性并保存修改后的数据。

那么在这种情况下我该怎么做?我应该在视图中实现INotifyPropertyChanged并使用:

PropertyChanged += new PropertyChangedEventHandler(PropertyChanged_implimentation); ?

我该怎么办?

1 个答案:

答案 0 :(得分:0)

通常,您会在视图模型上实施INotifyPropertyChanged。如果您需要通知任何消费者他们的属性更改(例如视图模型),您也可以选择在您的模型上实现它。

您通常不会在视图上实现INotifyPropertyChanged,因为您将使用XAML绑定在视图和基础视图模型之间进行通信。

只要视图模型中的属性值发生更改,

INPC就会通知您的视图自行更新。只要视图中的控件值发生更改,绑定引擎就会更新视图模型中的绑定属性值。

可以找到MVVM的一个很好的介绍here,我也强烈建议使用MVVM framework用于任何类型的严肃应用。