好的。因此,在观看Jason Dolinger最好的introduction to MVVM视频(我建议任何开始WPF的人,一个多小时有趣的东西,我保证这个一小时将带给你很多很好的回报),我现在很兴奋实现它在我自己的项目中。如何调出MVVM中的其他视图
好的。所以这里是我的MainWindow类,一个XAML窗口,充当我的项目的主MDI窗口。我为我的窗口添加一个ViewModel,请求我的菜单项绑定到ViewModel成员,而不是添加事件处理程序等。
到目前为止好。现在我需要在要处理用户单击菜单项的命令中编写实际代码。只要进入相关命令,我意识到我的命令和ViewModel都没有对实际的View类或其他视图/视图模型的引用。
所以我的问题是,如何加载另一个视图来响应命令的执行?是否应该全部通过ViewModel,或者命令对象是否可以直接访问视图?这里的标准做法是什么?
您需要更改主窗口的datacontext。在MainWindow.xaml中添加所有视图和视图模型,然后在所有视图中都有主窗口对象。因此,无论何时您想从一个视图移动到另一个视图,都可以将MainWindow对象的datacontext更改为新视图。 – 2013-02-13 10:30:09
@FaisalHafeez:这听起来像是无稽之谈。 – dotNET 2013-02-13 10:52:53