【发布时间】:2013-03-27 15:17:29
【问题描述】:
一个常见的场景:一个包含项目模型集合的模型。
例如,房子里有一群人。
如何为 MVVM 正确构建此结构 - 特别是关于通过添加和删除更新 Model 和 ViewModel 集合?
模型House 包含模型People 的集合(通常是List<People>)。
视图模型HouseVM 包含它包装的 House 对象和视图模型PeopleVM (ObservableCollection<PeopleVM>) 的 ObservableCollection。请注意,我们最终会看到 HouseVM 拥有两个集合(需要同步):
1.HouseVM.House.List<People>
2.HouseVM.ObservableCollection<PeopleVM>
当房子更新为新的人(添加)或人离开(删除)时,现在必须在模型房子人集合和VM HouseVM PeopleVM ObservableCollection的两个集合中处理该事件。
这个结构是正确的 MVVM 吗?
有没有办法避免对 Adds 和 Removes 进行双重更新?
【问题讨论】:
-
我真的很想听听答案,因为这是一个我永远无法真正摆脱的问题。
标签: wpf mvvm collections viewmodel