【发布时间】:2015-05-29 11:03:45
【问题描述】:
WPF 4.5
我有一个应用程序,我通过实例化从应用程序的主窗口显示模态窗口,将其所有者设置为主窗口,然后调用 ShowDialog()。模态窗口具有“Topmost=true”。主窗口没有。
当我运行我的应用程序时,模态窗口显示在主窗口的前面,并且正如预期的那样保持在主窗口的前面。但是,我可以简单地单击模态窗口后面的主窗口来激活主窗口并对其进行操作...我什至可以关闭它!
以我的拙见,这绝对不是具有模态窗口的应用程序所期望的行为。我对 WPF 以这种方式处理它的原因感到困惑。更重要的是,我需要一个解决方案,将模态窗口保持在前面,同时阻止对其后面的主窗口的访问(这不应该是模态窗口的基本功能吗?)
我相信这种期望的行为一直是在 WinForms 中使用 ShowDialog 时的默认行为(回到过去。)我在这里缺少什么,我怎样才能让它与 WPF 一起工作?
【问题讨论】:
-
这能回答你的问题吗? ShowDialog() behind the parent window
标签: wpf wpf-controls