完全模态WPF窗口?

时间:2013-02-12 14:43:03

标签: c# wpf modal-dialog

我有一个要求,指定使用WPF的通知托盘应用程序必须(基于某些条件)弹出一个全局模态的窗口。这应该阻止用户做任何事情(甚至在托盘应用程序之外),直到他们满足一些其他条件,此时它将启用关闭按钮并允许用户关闭它。

如何制作这样的窗户?我有窗口显示,它评估条件和诸如此类的东西,但它只是应用程序的模态(即它只阻止它运行的应用程序的执行和UI。

我想我可以创建一个无边框窗口并可能禁用最小化功能,但他们仍然可以访问开始菜单。任何接受者?我在功能方面的努力类似于Windows UAC / Admin权限请求窗口。

这不是顶部复制框提供的问题的副本。该问题与Windows窗体有关,不适用于WPF。碰巧我收到了一个对我来说很有效的答案,而且这不是上面提到的问题的答案。并不是真的很重要,但我希望重复的标签取消。我喜欢认为我在发布之前很好地研究了我的问题,并且添加该标签意味着我没有。

修改

此问题与重复问题框中链接的问题不重复。在Windows Forms风格中回答了这个问题,我使用的是WPF,一个完全不同的UI框架。

2 个答案:

答案 0 :(得分:6)

使用Window.ShowDialog()方法。更多信息可以在here

找到

请参阅sixlettervariables的第二条评论。

答案 1 :(得分:1)

一个解决方案可能是创建一个覆盖整个屏幕的半透明WPF窗口(实际上你应该说:所有屏幕)并使用Window.ShowDialog()显示模态窗口,其中所有者是该窗口。你需要做的就是阻止任务切换(这不是一件容易的事),但也许这样就足够了?

UAC之类的东西 - 比如this的回答?