最佳实践Observablecollection <model> vs Observablecollection <viewmodel> </viewmodel> </model>

时间:2013-05-15 08:28:22

标签: c# wpf mvvm observablecollection

哪一个是保存我的数据的更好的解决方案,还是取决于某些条件?

样本情况1:
您需要显示一个数据列表,可在选择后在新窗口中修改。

样本情况2:
您需要显示可在此列表中修改的数据列表。

2 个答案:

答案 0 :(得分:10)

当您使用MVVM时,您应该使用ObservableCollection<ViewModel>

应通过ViewModel将模型与View分开。

答案 1 :(得分:0)

我会说ObservableCollection<Model>,因为它可以直接绑定到List或datagrid。

对于样本情况1:选择一个模型,然后将新窗口的数据上下文设置为该模型。

对于示例情形2:使用双向绑定编辑数据网格。

ObservableCollection可以在ViewModel中。像下面显示的那样。

public class MyViewModel
{
     public ObservableCollection<Model> ListOfItems { get; set;}
}