保持所有UI逻辑在ViewModel之外



我对MVVM很陌生,我很好奇是否有可能将所有UI特定的东西从ViewModel中保留出来,从而使我的ViewModel跨项目可移植?例如,假设我想稍后将我的应用程序从windows phone 8移植到windows 8。我可以很容易地拖过我的视图模型和模型,然后设计一个连接到视图模型的新视图。如果是这样的话,为了使我的视图模型尽可能便携,我应该注意哪些实践?

与其拖拽模型和VM,不如将它们构建成自己的程序集,并在多个项目中重用这些程序集。

通过实现IPropertyNotifyChanged,完全有可能将VM与视图分开。这样,VM的属性可以检查它们是否被更改,并可以通知订阅者PropertyChanged事件发生了更改。这样,你的视图就可以订阅对象上的PropertyChanged事件,并在需要更新UI时采取行动,以反映对象的一个或多个属性的变化值。

请务必阅读IPropertyNotifyChanged文档末尾的示例,该示例说明了这是如何工作的。

相关内容

  • 没有找到相关文章

最新更新