一个模型的几个视图?

时间:2016-06-21 12:43:14

标签: c# wpf mvvm

在我的主窗口中,我有几个用户控件。一个用于菜单,另一个具有可变内容,具体取决于菜单选项。用MVVM处理这个问题的好方法是什么?两个用户控件都应该有自己的视图模型吗?但是,如何从菜单视图模型中获取信息到内容视图模型?或者我应该只为整个窗口使用一个视图模型?

这导致了一个更普遍的问题:如果我在程序的几个地方使用相同的信息,我该如何处理?两个单独的视图如何访问同一个模型实例?我需要将该模型设为静态吗?

1 个答案:

答案 0 :(得分:-2)

  

两个用户控件是否都有自己的视图模型?

除非有问题的控件是非常由进程驱动的控件,否则最好让控件完全脱离其声明的dependency properties,而不是单独的VM。

  

我的程序中的几个地方的相同信息,我该如何处理?

不要过度思考它,创建一个VM,初始化并将其作为静态放在应用程序上,然后从需要它的其他VM访问它。

然后,代码中的任何地方都可以从全局Application.Current Property (System.Windows)获取正在运行的应用程序,这将具有将保存共享VM的静态VM属性。

相关问题