【发布时间】:2018-05-27 07:11:46
【问题描述】:
使用后面的代码时,代码如下:
AnotherWindow x = new AnotherWindow();
x.Show() ;
// or x.ShowDialog()
但是我怎样才能使用 MVVM 来实现呢?特别是棱镜?
【问题讨论】:
使用后面的代码时,代码如下:
AnotherWindow x = new AnotherWindow();
x.Show() ;
// or x.ShowDialog()
但是我怎样才能使用 MVVM 来实现呢?特别是棱镜?
【问题讨论】:
如果您需要构建一个对话框来询问用户登录输入或进行对话框,MahApps.Metro 可以成为一个有用的工具包,因为它为您提供了一些带有 MVVM 模式的内置对话框 UI/功能。有关更多信息,请在此处查看一些示例: https://mahapps.com/controls/dialogs.html
【讨论】:
在 Prism 中,InteractionRequest 用于短期对话。如果您正在寻找一个长期存在的对话框,例如第二个应用程序窗口或 shell,那么您会被 new Window ... Show 卡住。
要使您的对话服务对 mvvm 友好,您应该将其隐藏在界面后面并使其尽可能通用。此处先使用视图模型无需指定窗口类型,因为您可以提供一个仅包含一个大ContentControl 的默认窗口,并且可以将视图映射为DataTemplate。
【讨论】: