3

我正在使用 MVVM 和 Unity,我了解了如何显示 shell 视图(带有 MainViewModel 的 MainView),但我找不到实例化其他窗口的正确方法,例如:Details Button that opens a new form and show其他详情。

因此,我正在寻找一种通用方法,如何使用 MVVM 和 Unity 使用其 ViewModel 实例化/调用其他视图(WPF 窗口)。

4

2 回答 2

2

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

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

于 2012-04-04T18:36:56.393 回答
2

看看这个答案:在 MVVM 中处理用户交互。您可以利用交互服务来实例化新的 WPF 窗口,但仍将保持分离状态。

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

我建议您阅读用户交互模式指南,因为它涵盖了您在使用 MVVM 时将面临的许多场景。

于 2012-04-04T18:18:36.740 回答