C# WPF窗口是否仅用于自己的应用程序?
我的WPF应用程序中的Splashscreen/Loading窗口设置为Topmost=“True”。现在,即使您切换到另一个应用程序(因为加载将需要一些时间),此窗口也将位于所有其他窗口之上。我不想要这种行为 如果我将Topmost=“False”窗口设置为不在最上面。但是,如果在使用另一个应用程序后切换回我的应用程序,我的客户有时不会意识到加载窗口仍在工作。应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口,并且是模态窗口C# WPF窗口是否仅用于自己的应用程序?,c#,wpf,window,topmost,C#,Wpf,Window,Topmost,我的WPF应用程序中的Splashscreen/Loading窗口设置为Topmost=“True”。现在,即使您切换到另一个应用程序(因为加载将需要一些时间),此窗口也将位于所有其他窗口之上。我不想要这种行为 如果我将Topmost=“False”窗口设置为不在最上面。但是,如果在使用另一个应用程序后切换回我的应用程序,我的客户有时不会意识到加载窗口仍在工作。应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口,并且是模态窗口 我希望加载窗口位于最上面,但仅当我的应用程序位于前台时。如果您切
我希望加载窗口位于最上面,但仅当我的应用程序位于前台时。如果您切换到另一个程序,当您切换回来时,窗口应该消失并重新出现在最顶端。您可以尝试使用窗口的“所有者”属性,这样启动屏幕将始终与其他窗口重叠。我想主窗口加载模式的更改可能会有所帮助。如果可以将加载窗口的耗时部分放在后台线程上,则可以采用以下路径:
在加载过程中,这应该会使启动保持在顶部。只是出于好奇,为什么在显示启动屏幕时同时加载其他窗口?一般来说,当应用程序使用启动屏幕时,这是该应用程序当时唯一可见的窗口……因为加载需要很长时间,我的老板希望一些数据在主窗口中已经可见。您不能与数据交互,但至少可以查看数据。在我的应用程序中,主窗口需要时间来创建,因此在显示初始屏幕时尚未创建。所以我还不能将闪屏窗口的所有者设置为主窗口。