首页 文章

WPF-Window仅适用于自己的应用程序?

提问于
浏览
11

我的WPF应用程序中的Splashscreen / Loading-Window设置为 Topmost="True" . 现在这个窗口在所有其他窗口的顶部,即使你切换到另一个应用程序(因为加载将需要一些时间) . 我不想要这种行为 .

如果我设置 Topmost="False" 窗口根本不在最顶层 . 但是如果您在使用其他应用程序后切换回我的应用程序,我的客户有时也不会意识到Loading-Windows仍在运行 . 该应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口,它是模态的 .

我希望装载窗口位于最顶层,但前提是我的应用程序位于前台 . 如果切换到另一个程序,窗口应该消失,并在切换回时最重新出现 .

2 回答

  • 2

    您可以尝试使用窗口的“所有者”属性,因为启动屏幕将始终与其他窗口重叠 .

  • 10

    我想也许你的MainWindow加载模式的改变可能会有所帮助 . 如果您可以花时间在后台线程上加载窗口,那么您可以采用以下路径:

    • 显示MainWindow空或裸骨(空字段/网格等)

    • 启动异步加载方法以获取数据并填充主窗口

    • 创建初始屏幕,将所有者设置为自我并显示

    • 确保在加载完成后关闭启动画面 .

    这应该在处理负载时保持顶部的飞溅 .

相关问题