为什么MVVM-Light中的ObservableObject不再实现INotifyPropertyChanging?

时间:2014-10-16 07:51:16

标签: c# wpf mvvm-light

我一直在使用ObservableObject和其他一些派生自它的类,例如ViewModelBase。 我更新到5.0.1.31549版。似乎ObserableObject不再实现INotifyPropertyChanging

这有什么理由吗?是否有可供使用的替代类,或者我应该实现接口以及RaisePropertyChanging()自己的相关方法吗?

1 个答案:

答案 0 :(得分:3)

原因可能是因为PCL项目不支持INotifyPropertyChanging,而且MvvmLight将其大部分基本代码移至PCL项目以支持桌面和移动设备。你可以看到它commented in the source。您需要浏览ObservableObject。似乎无法直接链接它。 “GalaSoft.MvvmLight - > GalaSoft.MvvmLight(PCL) - > ObservableObject.cs”

public class ObservableObject : INotifyPropertyChanged /*, INotifyPropertyChanging*/

您还可以看到alternate approach的答案,您可以用它来实现您自己需要的内容。

请注意,它仍然实现INotifyPropertyChangedViewModelBase仍然来自ObservableObject,因此在大多数情况下,对于使用MvvmLight的桌面设备或移动设备,它们应该没问题。