我正在开发基于 MVVM 模式的 WPF 应用程序。
对于特定实体,我有一个包含实体属性的模型,一个实现 INotifyPropertyChanged 并具有一些附加逻辑的 ViewModel 以及公开模型的属性和两个视图,一个用于创建实体,一个用于编辑实体。
我为编辑创建单个 ViewModel 并创建视图,并在进行编辑时传递实体的 id,以便可以检索现有数据。
我无法解决的是如何在这种情况下构造 ViewModel,即:
- 我是否应该将 EntityViewModel 作为 EditEntityViewModel 的属性,其中 EntityViewModel 公开模型的属性,而 EditEntityViewModel 处理命令和其他逻辑?如果我这样做,那么我认为 EntityViewModel 不会收到有关视图更改的通知。
- 我应该有两个彼此一无所知的独立 ViewModel 吗?
- 我是否应该为页面提供一个 ViewModel 来公开模型的属性以及处理命令和其他逻辑?
- 还有什么?
我知道每个视图应该有一个 ViewModel,但我不完全确定如何定义单独的视图。您可能会说我对如何实现该框架感到有些困惑。
非常感谢您的帮助。