我的 WPF 应用程序中的启动屏幕/加载窗口设置为 Topmost=“True”。现在,即使您切换到另一个应用程序,该窗口也会位于所有其他窗口之上(因为加载需要一些时间)。我不想要这种行为。
如果我设置 Topmost="False" 窗口根本不在最上面。但是,如果您在使用另一个应用程序后切换回我的应用程序,我的客户有时不会意识到加载 Windows 仍在工作。应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口并且是模式窗口。
我希望加载窗口位于最上面,但前提是我的应用程序位于前台。如果您切换到另一个程序,该窗口应该会消失,并在您切换回来时重新出现在最上面。
您可以尝试使用窗口的
Owner
属性,这样启动画面将始终与其他窗口重叠。
我认为更改主窗口的加载模式可能会有所帮助。如果您可以将加载窗口的耗时部分放在后台线程上,那么您可以采取以下路径:
在处理负载时应将飞溅保持在顶部。
为了澄清我将重新回答这个问题:
Martin Moser 的答案是正确的。
设置所有者属性,例如:
secondarywindow.Owner = parent;
并将 TopMost 设置为 false。