首页 文章

WPF MVVM - 如何安排ViewModels

提问于
浏览
0

我正在研究基于MVVM模式的WPF应用程序 .

对于特定实体,我有一个包含实体属性的Model,一个实现INotifyPropertyChanged的ViewModel,它有一些额外的逻辑,以及公开Model的属性和两个Views,一个用于创建,一个用于编辑实体 .

我为编辑创建了一个ViewModel并创建了Views,并在编辑时传递了实体的id,以便可以检索现有数据 .

我无法解决的是如何在这种情况下构建ViewModel,即:

  • 我是否应该将EntityViewModel作为EditEntityViewModel的属性,其中EntityViewModel公开Model的属性,EditEntityViewModel处理命令和其他逻辑?如果我这样做,那么我认为EntityViewModel不会被通知视图中的更改 .

  • 我应该有两个独立的ViewModel吗?

  • 我是否应该为页面提供单个ViewModel,以暴露模型的属性以及处理命令和其他逻辑?

  • 别的什么?

我知道每个视图应该有一个ViewModel,但我不完全确定如何定义单独的视图 . 你可能会说我对如何实现框架有点困惑 .

非常感谢任何帮助 .

1 回答

  • 1

    不要过度复杂化 . 尝试将视图模型保持为模型关系1:1 . 因此,您的视图模型将公开方法以支持模型上的所有CRUD方法 . 另外,考虑使用一个视图,而不是两个视图 . 他们之间有很多重叠,所以我认为这是有道理的 . 您将编写和维护的类更少 . 我认为使用单一视图方法列表中的#3是您的最佳选择 .

相关问题