完全模态 WPF 窗口? [英] Completely Modal WPF Window?

查看:20
本文介绍了完全模态 WPF 窗口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

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

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

编辑

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

解决方案

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

参见六字母变量的第二条评论.

I have a requirement that specifies that a notification tray application that uses WPF must (based on some conditions) pop-up a window that is globally modal. This should prevent the user from doing anything (even outside of the Tray application) until they have satisfied some other conditions at which time it will enable the close button and allow the user to close it.

How does one make such a window? I have the window displaying and it evaluates the conditions and whatnot, but it is only modal to the application (i.e. it only blocks execution and UI for the application it is running under.

I imagine I could create a borderless window and maybe disable the minimize functionality, but they would still be able to access the start menu. Any takers? What I am striving for functionality-wise is similar to the Windows UAC/Admin privilege request window.

This is not a duplicate of the question provided by the duplicate box at the top. That question pertains to Windows Forms and is not applicable to WPF. As it happens I received an answer that worked well for me, and it was not the answer to the question provided above. Not that it matters really, but I would like the duplicate tag taken off. I like to think that I research my questions pretty well before posting, and adding that tag implies that I do not.

EDIT

This question is not a duplicate of the question that was linked int he Duplicate Question box. That question was answered with in a Windows Forms flavor, and I am using WPF, a completely different UI framework.

解决方案

Use the Window.ShowDialog() method. More info can be found here

See the second comment by sixlettervariables.

这篇关于完全模态 WPF 窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆