Gio*_*der 1 c# wpf mvvm mvvm-light
我在一个用DataTemplate设计的ObservableCollection中暴露了一个Model类,其中处理了Model的proeprty绑定.
当我手动在Model类中实现INotifyPropertyChanged接口时,ObservableCollection中的绑定proeprty不会自动更改,而只是在重新呈现集合之后.
当我从ViewModelBase(MVVM Light工具包类)继承并使用RasiePropertyChanged方法时,绑定属性会自动更改而不刷新整个集合.
除了实现INotifyPropertyChanged接口之外,ViewModelBase做了什么?
那么ViewModelBase在MVVM Light Toolkit中为您提供了一些额外的帮助,比如IsInDesignMode和MessengerInstance
随着实施 INotifyPropertyChanged
现在在一个模型中,如果你只想实现INotifyPropertyChanged而不是试图自己做,只需从中派生出来ObservableObject
ObservableObject 也是来自MVVM Light工具包,它只在没有修剪的INPC实现中使其成为模型的完美选择.
如果查看ViewModelBaseVisual Studio 中的定义,它将继承ObservableObject自身