Prism WPF:如何打开一个新的窗口/对话框

时间:2018-05-27 07:11:47

标签: c# wpf mvvm prism

使用后面的代码时,代码如下所示:

AnotherWindow x = new AnotherWindow();
x.Show() ;
// or x.ShowDialog()

但是如何使用MVVM实现这一目标?特别是棱镜?

2 个答案:

答案 0 :(得分:0)

如果您需要构建一个用于询问用户登录输入或进度对话框的对话框,MahApps.Metro可以是一个有用的工具包,因为它为您提供了一些带MVVM模式的内置对话UI /功能。有关更多信息,请查看以下示例: https://mahapps.com/controls/dialogs.html

答案 1 :(得分:0)

在Prism中,InteractionRequest用于短暂的对话。如果你正在寻找一个长寿的对话框,比如第二个应用程序窗口或shell,你就会被new Window ... Show困住。

要使对话框服务对mvvm友好,您应该将其隐藏在界面后面,并使其尽可能通用。首先使用视图模型消除了指定窗口类型的需要,因为您可以提供仅包含一个大ContentControl的默认窗口,并且视图可以映射为DataTemplate