【发布时间】:2023-03-19 02:33:01
【问题描述】:
假设我有一个名为 MainWindow 的窗口。
在里面我有一个Menu和一个Frame,用来显示一个与SelectedMenuItem相关的页面。
假设我有 10 个页面,分别命名为 Page1、Page2、......、Page10。现在我想在 Frame 中显示这些页面。所有页面都有一些标准控件,如 TextBox、TextBlock、ComboBox 等。
功能:
- 用户点击任何 MenuItem 并显示与该 MenuItem 关联的页面。
- 他会根据自己的需要用数据填充所有的文本框和组合框。
- 他将点击保存按钮(请注意,保存按钮位于主窗口,而不是任何页面。)
- 步骤 1、2、3 一直持续到用户希望为止。
现在,我的问题是:
- 我应该为每页使用一个 ViewModel 吗?
- 我应该只使用 1 个 ViewModel 吗?
- 使用单一 ViewModel 的优缺点是什么?
- 使用多视图模型的优缺点是什么?
- 如果你说我应该使用Multiple ViewModels,那么我应该如何在另一个ViewModel中引用一个ViewModel的属性?
请不要说这取决于程序员的想法。我问这些问题是因为我想创建一个小型数据输入应用程序。我希望它是可维护的。另外,我想以最好的方式创建应用程序。
【问题讨论】:
-
1.我们总是每页做一个视图模型。这样您就不必考虑其他页面类。 5. 我们会创建类并将它们放在一个视图模型中,所以如果你想要两个类中的一个类,你只需将它添加到每个类中,而不是单独的属性
-
我看不懂 5. 在你的评论中。
标签: c# wpf silverlight mvvm