.net MVVM-视图对其他视图模型了解多少?

.net MVVM-视图对其他视图模型了解多少?,.net,mvvm,.net,Mvvm,我正在努力找出实现我的设计的最佳方法,或者了解我的设计在MVVM方法方面是否是错误的 我的想法是我的主窗口将有2个控件;一个菜单(普通、文件、编辑等)和一个内容控件。ContentControl将绑定到我的MainWindowViewModel的属性 当应用程序加载时,我的MainWindowViewModel的构造函数将一个属性(称为CurrentView)绑定到我的WelcomeView;这是一条有两个按钮的欢迎信息。1按钮打开一个名为SearchView的新视图,另一个按钮打开一个名为Ad

我正在努力找出实现我的设计的最佳方法,或者了解我的设计在MVVM方法方面是否是错误的

我的想法是我的主窗口将有2个控件;一个
菜单
(普通、文件、编辑等)和一个
内容控件
ContentControl
将绑定到我的MainWindowViewModel的属性

当应用程序加载时,我的MainWindowViewModel的构造函数将一个属性(称为CurrentView)绑定到我的WelcomeView;这是一条有两个按钮的欢迎信息。1按钮打开一个名为SearchView的新视图,另一个按钮打开一个名为AddView的视图

我的问题是弄清楚这是怎么回事

是否允许我的WelcomeViewModel知道主窗口视图模型?我想是一张便条。也许它应该调用App.xaml中的一个函数,上面写着“我已被单击,请关闭我并打开新视图”


我希望我的问题很清楚,如果没有,请告诉我。

是的。以下是我在WPF中解析“局部视图”的方法:

主视图有一个

然后MainViewModel有一个

public-BaseViewModel-ActiveViewModel{get;set;}//NotifyPropertyChanged,当然=)

因此,无论何时更改“活动视图模型”,contentpresenter都会显示该VM的视图。
就这么简单

您的问题不是100%清楚,但是是的,一个ViewModel可以直接引用另一个完全有效的ViewModel。@HighCore-很抱歉不清楚,但我想您已经回答了!因此,假设我的MainWindowViewModel有一个属性(称为CurrentView)。我的MainWindowViewModel的CurrentView属性可以通过我的WelcomeViewModel(这是我可以在屏幕上更改视图的方式)?这正是我拥有它的方式,甚至包括命名!奇怪的巧合,但很幸福。这太棒了。非常感谢。