使用PRISM 4显示modal dialog

我正在使用PRISM和MVVM以及WPF开发.NET 4.0应用程序。

我目前有一个细分在区域中的shell,其中插入了视图。 当用户点击其中一个视图中的按钮时,我希望定制的模式对话框显示在所有视图的顶部,但仍在同一个shell中。

我查看了StockTrader RI示例及其RegionPopupBehavior的实现。 基本上,他们创建了一个依赖属性,允许他们定义具有特定的自定义行为的区域。 行为是负责处理相关视图渲染的行为,因此将其显示为弹出窗口。

这种方法的唯一缺点是所有其他视图仍处于活动状态,因此弹出窗口不是模态的。 我想这可以通过手动禁用shell中所有不需要的区域来解决,但我不确定这是多么“干净”。

我想知道是否有更好更简单的方法在Prism中显示模态弹出视图?

您可能对我在我的博客上发布的自定义PopupUserControl感兴趣。

通常我这样使用它:

          

虽然您也可以在弹出窗口中编写内容,而不是绑定Content属性