使用MVVM和Unity实例化/使用ViewModel调用其他视图(WPF表单)

时间:2012-04-04 15:49:06

标签: mvvm dependency-injection unity-container ioc-container

我正在使用MVVM和Unity,我不知道如何显示shell View(MainView及其MainViewModel),但我找不到实例化其他窗口的正确方法,例如:Details按钮打开一个新的形成并显示其他细节。

所以,我正在寻找一种常见的方法,如何使用MVVM和Unity实现/使用ViewModel调用其他视图(WPF窗口)。

2 个答案:

答案 0 :(得分:2)

看一下这个答案:Handling user interactions in MVVM。您可以利用交互服务来实例化新的WPF窗口仍然会保持解耦。

您还可以通过利用Mediator模式从视图模型发布消息,从而在WPF中提供间接通信,从而实例化新视图。这个答案Simple Mediator implementation提供了快速概述。

我建议您阅读User Interaction Patterns指南,因为它涵盖了使用MVVM时将遇到的许多方案。

答案 1 :(得分:2)

answer可能有助于了解如何将多个视图/ viewModel链接在一起。我通常不会发现自己需要在当前窗口中打开只显示不同视图的其他窗口。

如果您正在寻找专门用于打开新窗口的MVVM解决方案,请告诉我们。