c# – 使用MVVM模式访问Model的最佳实践是什么?

我有一个数据库,通过我的模型(自己的线程)与webservices进行通信,并公开数据对象.我的UI应用程序包含不同的视图和ViewModel以及自定义控件.我正在使用ServiceProvider(IServiceProvider)来访问Model并将事件路由到UI线程.

ViewModel之间的通信由Messenger提供.

是这样的吗?

我还想知道构建DataObjects的最佳方法是什么

目前,我拥有具有层次结构但不支持INotifyProperty的DataObjects,尽管子列表的类型为ObservableCollection.我没有可能在属性上实现notifypropertychange.

我想知道使MVVM友好的最好方法.实现部分类并添加必要的所有属性或命令或包装所有DataObjects并使Model列表和MVVM列表保持同步.

所有的想法和想法都表示赞赏.

最佳答案 严格实现MVVM意味着您应该创建ViewModel类,这些类公开将使用View的所有DataObjects(您的Model) – View不能直接访问Model.

在此之后,您将完全控制ViewModel,并且您将能够实现INotifyPropertyChange事件,并在每次更改通知或特定操作时将ViewModel与模型同步.

点赞