我正在使用Caliburn.Micro和MVVM测试WPF。我的应用程序有一个AppView(WPF窗口),其中包含一个TabControl。在其中,我使用其相应的Screen ViewModel在新选项卡上加载我的视图(WPF UserControl)(遵循SimpleMDI示例)。现在,我需要从我的ViewModel中显示对话框,我像这样做:
var windowManager = new WindowManager();
var login = new ConfirmActionViewModel();
windowManager.ShowDialog(login);
这种方法的问题在于ShowDialog方法会创建一个模态视图,它会对整个应用程序进行阻塞。
我的问题是:我如何使这个对话框只对活动视图模态化?当我说模态化时,我指的是需要阻止视图,直到用户单击ConfirmActionView的按钮。
我已经尝试使用ModalContentPresenter类,但在Caliburn方面存在一些问题,而且解决方案不像使用WindowManager那样干净。谢谢!