【发布时间】:2017-04-29 12:28:21
【问题描述】:
我对 MVVM 模式和绑定集合有疑问。我的 ViewModel 为 View 提供了一个集合,但为了获得这个集合,我使用了这个:
public BindingList<Car> BindingListCars { get; set; }
public CarsVm()
{
BindingListVoiture = carServices.ListCars;
}
当我在这个列表上绑定我的视图时,就好像我直接在模型上绑定我的视图,因为它们使用相同的引用。所以当我编辑Car的一个属性时,直接编辑模型而不使用carServices验证方法。
纠正这个问题的最佳解决方案是什么?
我是否必须向我的视图公开我的模型的副本才能不直接从视图中编辑我的模型?
我必须在我的模型中使用BindingList 并在我的carServices 中订阅ListChanged 来验证每个更改吗?
【问题讨论】:
-
谷歌“mvvm collections”,你会发现大量的讨论和有用的解决方案
标签: wpf mvvm collections binding bll