我在MVVM中使用棱镜对话框显示一个对话框弹出。
_iDialogService.ShowDialog("View", new DialogParameters(""), CallBackResult=>
{
var test = CallBackResult;
});
你所圈定的内容来自于DialogWindow而不是Dialog View。因此,你需要提供一个自定义的对话窗口,按照你想要的方式进行配置。
注意,你可以看到默认的 对话窗口 作为 Prism 的一部分在 GitHub 上发布。
你可以通过继承Dialog Window并设置你想要的属性来创建你自己的对话框窗口。另外,你也可以从Window继承并实现IDialogWindow。
public class MyDialogWindow : DialogWindow
{
}
public class MyOtherDialogWindow : Window, IDialogWindow
{
}
在你的Bootstrapper或PrismApplication中,你要确保将你的Window和你的Dialogs一起注册。
containerRegistry.RegisterDialog<MyDialog>();
containerRegistry.RegisterDialogWindow<MyDialogWindow>();
最后,当你使用DialogService时,一定要添加你的对话框的名称。
dialogService.ShowDialog("MyDialog", parameters, onDialogClosed, "MyDialogWindow");