WPF 4.5
我有一个应用程序,我通过实例化它从我的应用程序主窗口显示一个模态窗口,将其所有者设置为主窗口,然后调用ShowDialog()。模态窗口具有“Topmost = true”。主窗口没有。
当我运行我的应用程序时,模态窗口显示在主窗口的前面,并且它按预期保存在主窗口的前面。但是,我只需点击模态窗口后面的主窗口即可激活主窗口并操作它......我甚至可以关闭它!
我认为这绝对不是具有模态窗口的应用程序所需的行为。我很困惑为什么WPF会这样处理它。更重要的是,我需要一个解决方案,将模态窗口保持在前面,同时还阻止访问它后面的主窗口(这不应该是模态窗口的基本功能吗?)
我相信在WinForms中使用ShowDialog时这种期望的行为一直是默认行为(当天回来。)我在这里缺少什么,以及如何使用WPF?
答案 0 :(得分:0)
您必须在ShowDialog:
之前设置所有者窗口modalWindow.Owner = RootWindow;