5

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

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

我想我可以创建一个无边框窗口并禁用最小化功能,但他们仍然可以访问开始菜单。有接盘侠吗?我所追求的功能类似于 Windows UAC/Admin 权限请求窗口。

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

编辑

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

4

2 回答 2

6

使用Window.ShowDialog()方法。更多信息可以在这里找到

请参阅 Sixlettervariables 的第二条评论。

于 2013-02-12T14:44:41.073 回答
1

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

像 UAC 这样的东西 - 例如在这个答案

于 2013-02-12T14:46:55.060 回答