正确的MVVM方法

时间:2015-08-24 20:29:04

标签: c# wpf mvvm

我试图了解使用视图模型以及留下的模型的最佳方式。

我的模型是自定义项的集合(如用户配置列表)。

我理解公开此模型的正确方法是通过ConfigurationListViewModel将模型的列表转换为ui可读的数据。

但是我应该如何管理ConfigurationListViewModel背后的项目? 单个配置本身应该有ConfigurationViewModel吗? 或者主ConfigurationListViewModel应该处理其项目的曝光?

如果我想向我的ConfigurationList添加配置,我会将Add()方法调用到我的ConfigurationListViewModel,并且它会创建一个新的Configuration,或者应该我在父级中创建了一个新的(ConfigurationConfigurationViewModel?),然后调用Add([ConfigurationConfigurationViewModel?] {{1} }?

1 个答案:

答案 0 :(得分:2)

实际上,答案是以上任何一种

如果视图模型中使用的数据与模型的形式相同,那么创建一个ConfigurationViewModel类就不会给自己带来任何好处Configuration类的副本。

至于添加,你可以这样做。有时你想在视图模型中进行所有编辑,这样你就可以恢复"不实际修改模型的变化。如果这不是问题,首先修改模型并传播到视图模型就像方法一样有效。

所有这一切,你的方法都不会违反MVVM。选择最有意义的东西,特别是语义和未来的维护。一般来说,我更喜欢简单到盲目遵守诸如&#34之类的原则;每个数据对象都需要一个视图模型表示"。

相关问题