【发布时间】:2012-03-23 17:42:28
【问题描述】:
本次会议的简报(http://channel9.msdn.com/Events/MIX/MIX10/EX14)显示如下图: 看起来有点奇怪。模型和视图什么时候直接相互通信?
PS:我没有看全场,我只看了ppt,如果他在视频中解释,请多多包涵。
【问题讨论】:
标签: design-patterns mvvm view model
本次会议的简报(http://channel9.msdn.com/Events/MIX/MIX10/EX14)显示如下图: 看起来有点奇怪。模型和视图什么时候直接相互通信?
PS:我没有看全场,我只看了ppt,如果他在视频中解释,请多多包涵。
【问题讨论】:
标签: design-patterns mvvm view model
在某些情况下,模型对象实现 INotifyPropertyChanged。比如EF实体做的,或者在WCF中,客户端生成的代理也会自动实现INPC。在其他情况下,如果您自己创建数据对象,让它们实现 INPC 也可能有意义。
如果您想避免复制每个数据对象的每个属性并使它们可观察,这很有用。为此,MVVM Light V4 现在具有 ObservableObject 类,它是 INPC 的轻量级实现。 ViewModelBase 继承了 ObservableObject 并添加了一些特定于 ViewModel 的功能。
请注意,当然,您的里程可能会有所不同 (YMMV),并且在某些情况下,让数据对象实现 INPC 是没有意义的。像往常一样,务实并评估每一种情况。但是,在数据对象确实实现 INPC 的情况下,您可以直接将数据绑定到数据对象的属性,这就是该箭头的含义。
干杯, 洛朗
【讨论】: