我在一个用DataTemplate设计的ObservableCollection中暴露了一个Model类,其中处理了Model的proeprty绑定。
当我手动在Model类中实现INotifyPropertyChanged接口时,ObservableCollection中的绑定proeprty不会自动更改,但仅在重新呈现集合后才会更改。
当我从ViewModelBase(一个MVVM Light工具包类)继承并使用RasiePropertyChanged方法时,绑定属性会自动更改而不刷新整个集合。
ViewModelBase除了实现INotifyPropertyChanged接口外还做了什么?
答案 0 :(得分:9)
MVVM Light Toolkit中的ViewModelBase
为您提供了一些额外的帮助,例如IsInDesignMode
和MessengerInstance
以及实施INotifyPropertyChanged
现在在模型中,如果您只想实施INotifyPropertyChanged
而不是尝试自己做,只需从ObservableObject
ObservableObject
也来自MVVM Light工具包,它只进行INPC实现而没有修剪,使其成为模型的完美之选。
如果您在Visual Studio中查看ViewModelBase
的定义,它会继承ObservableObject
本身