在 View-Base WPF 应用程序中从 ViewModel 更改视图

Changing View from ViewModel in View-Base WPF Application

我正在使用 MVVM-Light 框架 (C#) 开发基于视图的应用程序。本质上,我有一个 window 打开内容控制器,视图模型确定内容控制器中的视图。

我想 运行 来自每个更改视图的视图模型的命令。例如,如果用户按下 "Submit",应用程序会将他们带回主视图。

我唯一能想到的是让每个视图模型都需要一个 Window 类型的 ParentWindow 参数,以便 link 回到我的 [=] 中的 CurrentViewModel 变量12=]。有更好的方法吗?

MVVM Light 中有一个名为 Messenger 的功能。您可以使用它在 ViewModel 之间进行通信。

这是一个带有示例的答案:MVVM Light Messenger - Sending and Registering Objects