代码之家  ›  专栏  ›  技术社区  ›  TalkingCode

wpf窗口顶部仅限自己的应用程序?

  •  11
  • TalkingCode  · 技术社区  · 14 年前

    wpf应用程序中的splashscreen/loading窗口设置为 topMost=“真” . 现在这个窗口位于所有其他窗口之上,即使您切换到另一个应用程序(因为加载需要一些时间)。我不想有这种行为。

    如果我设置 topMost=“假” 窗户一点也不在最上面。但是,如果您在使用另一个应用程序后切换回我的应用程序,我的客户有时不会意识到加载窗口仍在工作。应用程序似乎没有响应,因为后台的加载窗口仍然是活动窗口,并且是模式窗口。

    我想有最上面的加载窗口,但只有当我的应用程序在前台。如果您切换到另一个程序,窗口应该消失,并在您切换回最顶端时重新出现。

    2 回复  |  直到 13 年前
        1
  •  10
  •   Martin Moser    14 年前

    您可以尝试使用窗口的“owner”属性,这样初始屏幕将始终与其他窗口重叠。

        2
  •  2
  •   TheZenker    13 年前

    我想改变主窗口的加载模式可能会有帮助。如果您可以将窗口加载到后台线程上的过程花费时间,则可以采用以下路径:

    1. 显示主窗口空或裸骨骼(空字段/网格等)
    2. 启动异步加载方法以获取数据并填充主窗口
    3. 创建初始屏幕,将所有者设置为self并显示
    4. 加载完成后,确保关闭防溅屏。

    在装载过程中,这样可以使飞溅物保持在顶部。