【发布时间】:2017-01-16 11:23:40
【问题描述】:
我目前面临着 MVVM 中讨论最多的问题之一:我的 WPF 应用程序中有一个复杂的模型,我不确定如何将其数据显示到视图。
根据 StackOverflow 上的许多答案以及this article 有两种方法:
通过在 ViewModel 中为 Model 中的每个属性添加一个属性来将 Model 包装在 ViewModel 中
将模型直接暴露给视图,而不复制属性。
到目前为止,我的理解是,从理论的角度来看,第一种方法更好,而第二种方法是应该避免的快速捷径。
在我之前链接的same article中,作者写道:
在审查来自 Caliburn 框架的示例应用程序时,他们使用选项 2 实现了 VM。
我查看了 Caliburn.Micro 文档,不幸的是它只使用了一个没有真实模型的简单 ViewModel,所以我不知道如何验证这个声明。
作者说的对吗?由于我使用的是 Caliburn.Micro,我应该使用第二种方法而不是第一种方法,以便更“符合”框架实现吗?
【问题讨论】:
-
最终,做你想做的事。您遵循约定的“严格”程度有不同程度。您的预算限制、时间表、项目规模、公司流程和个人偏好比什么都重要。
标签: wpf mvvm caliburn.micro