我试图了解使用ViewModel和滞后模型的最佳方法是什么。
我的模型是自定义项目的集合(例如用户配置列表)。
我知道,公开此模型的正确方法是通过ConfigurationListViewModel
来转换ui可读数据中的模型列表。
但是我应该如何管理ConfigurationListViewModel
后面的项目?
单一配置本身是否应具有ConfigurationViewModel
?
还是主要的ConfigurationListViewModel
应该处理其项目的暴露情况?
如果要在ConfigurationList
中添加配置,则可以在Add()
中调用ConfigurationListViewModel
方法,它会自己创建一个新的Configuration
,还是应该在父级中创建一个新的(Configuration
? ([[ConfigurationViewModel
?Add
?] Configuration
?
最佳答案
实际上,答案是以上任何。
如果 View 模型中使用的数据具有与模型相同的形式,则创建ConfigurationViewModel
类只是Configuration
类的副本,对您没有任何帮助。
至于添加,您可以选择任何一种方式。有时您想在 View 模型中进行所有编辑,以便可以通过不实际修改模型来“还原”更改。如果不必担心,那么首先修改模型并传播到 View 模型与方法一样有效。
综上所述,您的方法都不会违反MVVM。选择最有意义的东西,尤其是语义上的和将来的维护。通常,我更喜欢简单而不是盲目遵守诸如“每个数据对象都需要 View 模型表示”之类的原则。
关于c# - 正确的MVVM方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32191191/