2012-03-23 49 views

回答

7

在某些情况下,Model对象实现INotifyPropertyChanged。例如,EF实体或WCF中,客户端上生成的代理也会自动实现INPC。在其他情况下,如果你自己创建数据对象,让它们实现INPC也许是有意义的。

如果您想要避免必须复制每个数据对象的每个属性并使它们可观察,这非常有用。为此,MVVM Light V4现在具有ObservableObject类,它是INPC的轻量级实现。 ViewModelBase继承了ObservableObject并增加了一些特定于ViewModel的特性。

请注意,当然您的里程可能会有所不同(YMMV),并且在某些情况下,使数据对象实施INPC没有意义。像往常一样,务实和评估每一种情况。但是,如果数据对象确实实现了INPC,则可以将数据直接绑定到数据对象的属性,这就是此箭头的含义。

干杯, Laurent