这个问题在这里已经有了答案:
Notify ObservableCollection when Item changes
(8 个回答)
8年前关闭。
我在 ObservableCollection 中公开了一个模型类,该类使用 DataTemplate 设计,其中处理模型的属性绑定(bind)。
当我在 Model 类中手动实现 INotifyPropertyChanged 接口(interface)时, ObservableCollection 中的绑定(bind)属性不会自动更改,但只有在重新渲染集合之后才会更改。
当我从 ViewModelBase(一个 MVVM Light 工具包类)继承并使用 RasiePropertyChanged 方法时,绑定(bind)的属性会自动更改,而无需刷新整个集合。
除了实现 INotifyPropertyChanged 接口(interface)之外,ViewModelBase 做了什么?
请您参考如下方法:
嗯ViewModelBase在 MVVM Light Toolkit 中为您提供了一些额外的帮助程序,例如 IsInDesignMode和 MessengerInstance
连同实现INotifyPropertyChanged
现在在模型中,如果您只想实现 INotifyPropertyChanged而不是自己尝试做它只是从 ObservableObject 派生ObservableObject也来自 MVVM Light 工具包,它只执行 INPC 没有修剪,使其非常适合模型。
如果您查看 ViewModelBase 的定义在 Visual Studio 中它继承 ObservableObject本身
