本次会议的力量点(http://channel9.msdn.com/Events/MIX/MIX10/EX14)显示了这样的图: 它看起来有点奇怪。模型和视图何时直接相互沟通?在MVVM模式中,模型和视图何时直接相互通信?
PS:我没有看整个会议,我只读了PPT,所以如果他在视频中解释它,请耐心等待。
本次会议的力量点(http://channel9.msdn.com/Events/MIX/MIX10/EX14)显示了这样的图: 它看起来有点奇怪。模型和视图何时直接相互沟通?在MVVM模式中,模型和视图何时直接相互通信?
PS:我没有看整个会议,我只读了PPT,所以如果他在视频中解释它,请耐心等待。
在某些情况下,Model对象实现INotifyPropertyChanged。例如,EF实体或WCF中,客户端上生成的代理也会自动实现INPC。在其他情况下,如果你自己创建数据对象,让它们实现INPC也许是有意义的。
如果您想要避免必须复制每个数据对象的每个属性并使它们可观察,这非常有用。为此,MVVM Light V4现在具有ObservableObject类,它是INPC的轻量级实现。 ViewModelBase继承了ObservableObject并增加了一些特定于ViewModel的特性。
请注意,当然您的里程可能会有所不同(YMMV),并且在某些情况下,使数据对象实施INPC没有意义。像往常一样,务实和评估每一种情况。但是,如果数据对象确实实现了INPC,则可以将数据直接绑定到数据对象的属性,这就是此箭头的含义。
干杯, Laurent