【发布时间】:2012-11-12 06:56:25
【问题描述】:
我正在构建和 MVVM 应用程序,其中我的一些模型包含他们正在建模的真实世界对象的状态。状态从外部事件改变,例如我的模型通过 TCP/IP 获取有关股票变化的信息,并更新其状态以反映该变化。
现在我希望将更改传播到我的视图,而这样做的方法是让我的 ViewModel 知道更改。 我可以想到两种方法来做到这一点。
一,我让Model实现INotifyPropertyChanged,当属性改变时触发事件。但是,出于某种原因,这似乎是frowned upon。
二,我为模型中可以更改的每个属性实现了一个事件,ViewModel 可以显式绑定到的事件。 p>
首选方式是什么?还有其他方法(更好的方法)吗?
编辑:
我现在已经在comment from slugster 和here 中读到,让模型拥有状态并不是模型的目的。
然而,在 John Gossman 的原始 MVVM post 中,我们发现:“模型在 MVC 中定义;它是完全独立于 UI 的数据或业务逻辑,存储状态并执行问题域的处理。”
【问题讨论】: