【发布时间】:2011-06-03 09:44:47
【问题描述】:
假设我有一个模型,它公开了我将在 GUI 中显示和更改的对象集合。
所以我们让 Model 暴露了 ModelItem 的集合。
View 绑定到 ViewModel,该 ViewModel 公开 ViewModelItem 的 ObservableCollection。 ViewModelItem 是 ModelItem 的 Viewmodel
View 包含一个 ListBox 和一个 DataTemplate。 DataTemplate 用于 ViewModelItem 类型的项目。 View DataContext 指向 ViewModel 的一个实例。 ListBox 绑定到 ObservableCollection。
我控制所有代码。
到目前为止很简单。问题:
是否可以将模型上的集合公开为 ObservableCollection?此外,在 Model 和 ModelItem 上实现 INotifyPropertyChanged 是否可以接受?
我担心我混淆了模型和视图模型之间的分离,但是常识说,这是一种通知模型中元素更改的机制,让我们使用它...
只是想从别人那里得到一些看法。
谢谢
【问题讨论】:
-
您想让用户从视图内部操作您的数据还是只想显示它?
-
我个人的经验是,MVVM一定不能推得太远。保持务实,否则你会过度设计整个事情。
-
对不起,是的,数据可以通过视图进行编辑。