2009-06-28 117 views
1

在MVVM模式中,我不想在创建模型时考虑视图。所以我使用存储在IList中的数据的公共属性等。 但是,然后我的viewmodel没有通知模型方面对这些列表所做的更改。 我应该在我的模型中使用ObservableCollections吗?但这对我来说似乎很奇怪。MVVM模型设计

回答

4

是的,你应该使用ObservableCollections。我不知道这会是什么奇怪的事情? ObservableCollection所做的全部都是通知任何监听器的变化。这并不一定是一个用户界面。

您的视图模型不应该知道使用它有关实际查看任何东西,但因为它是一个查看型号,它是确定为它承担东西是要使用它,这样的ObservableCollection是要走的路而且据我所知,还有一些常见的做法。

此外,听众确切地知道哪些项目已被添加或删除,所以当发生更改时不需要更新整个列表=>更好的更新性能。这也是微软所说的(虽然现在找不到这篇文章)

+0

这就是我想知道的。谢谢 – apparat 2009-06-28 15:27:48

3

这也是为什么你看到大多数人在他们的数据模型上实现INotifyPropertyChanged的原因,因为你希望每次数据时都要通知viewmodel模型更改。