在MVVM模式中,我不想在创建模型时考虑视图。因此,我对存储在ILists中的数据使用公共属性,依此类推。但是,我的视图模型不会被告知模型端对这些列表所做的更改。我应该在我的模型中使用ObservableCollections吗?但这对我来说似乎很奇怪。
发布于 2009-06-28 14:42:46
是的,您应该使用ObservableCollections。我不知道这有什么奇怪的?ObservableCollection所做的全部工作就是通知任何监听器发生更改。这不一定是一个UI。
您的视图应该不知道使用它的实际视图的任何信息,但由于它是一个视图模型,所以假设某些东西将使用它是可以的,所以ObservableCollection是可行的,而且据我所知,它也是常见的实践。
此外,侦听器确切地知道哪些项已被添加或删除,因此在发生更改时不需要更新整个列表,以获得更好的更新性能。这也是微软所说的(虽然现在找不到关于这方面的文章)
发布于 2009-06-28 14:56:06
这也是为什么您看到大多数人在其数据模型上实现INotifyPropertyChanged的原因,因为您希望视图模型在每次数据模型更改时都得到通知。
https://stackoverflow.com/questions/1054913
复制相似问题