我的主窗口定义了应用程序的标记,对于这个特定的场景,我可以说我有一个包含2列的网格 .
第一列将具有导航链接,第二列将显示不同的视图 .
在mainwindow xaml中定义了2个视图(和2个视图模型):
在第二个网格列中显示我得到的视图:
ViewModel是我根据我想要显示的视图(viewmodel)设置的属性 .
喜欢 :
ViewModel = new Window1ViewModel();
(mainwindowview的datacontext设置为MainWindowViewModel)
因此,从MainWindowViewModel切换视图是没有问题的 .
我的问题是如何在Window1ViewModel中切换到Window1ViewMode2?
关于其他ViewModel,各种ViewModel不会"know" .
只有MainWindowViewModel才知道其他人......
我怎么解决这个问题?也许我应该定义一个自定义事件(带参数),MainWindowViewModel将订阅,其他视图模型将触发它,然后MainWindowViewModel将切换到所需的视图?