1

我在 ObservableCollection 中公开了一个 Model 类,该类使用 DataTemplate 设计,其中处理 Model 的属性绑定。

当我在 Model 类中手动实现 INotifyPropertyChanged 接口时, ObservableCollection 中的绑定属性不会自动更改,但只有在重新渲染集合之后才会更改。

当我从 ViewModelBase(一个 MVVM Light 工具包类)继承并使用 RasiePropertyChanged 方法时,绑定的属性会自动更改,而无需刷新整个集合。

除了实现 INotifyPropertyChanged 接口之外,ViewModelBase 做了什么?

4

1 回答 1

9

Well ViewModelBasein MVVM Light Toolkit 为您提供了一些额外的帮助程序,例如IsInDesignModeMessengerInstance

随着实施INotifyPropertyChanged

现在在一个模型中,如果您只想实现INotifyPropertyChanged而不是尝试自己做,只需从ObservableObject

ObservableObject也来自 MVVM Light 工具包,它只执行 INPC 没有修剪,使其非常适合模型。

如果您查看ViewModelBaseVisual Studio 中的定义,它会继承ObservableObject自身

于 2013-03-22T13:47:42.533 回答