使用后面的代码时,代码如下所示:
AnotherWindow x = new AnotherWindow();
x.Show() ;
// or x.ShowDialog()
但是如何使用MVVM实现这一目标?特别是棱镜?
答案 0 :(得分:0)
如果您需要构建一个用于询问用户登录输入或进度对话框的对话框,MahApps.Metro可以是一个有用的工具包,因为它为您提供了一些带MVVM模式的内置对话UI /功能。有关更多信息,请查看以下示例: https://mahapps.com/controls/dialogs.html
答案 1 :(得分:0)
在Prism中,InteractionRequest
用于短暂的对话。如果你正在寻找一个长寿的对话框,比如第二个应用程序窗口或shell,你就会被new Window ... Show
困住。
要使对话框服务对mvvm友好,您应该将其隐藏在界面后面,并使其尽可能通用。首先使用视图模型消除了指定窗口类型的需要,因为您可以提供仅包含一个大ContentControl
的默认窗口,并且视图可以映射为DataTemplate
。