如何在WPF中显示功能区窗口之前加载所有选项卡
本文关键字:加载 选项 窗口 WPF 功能区 显示 | 更新日期: 2023-09-27 17:52:50
我正在使用微软的WPF ribbon控件。我有三个选项卡,每个选项卡加载不同的WPF用户控件。在主窗口加载之前,我一直使用闪屏。加载主功能区窗口后,一旦用户单击另一个功能区选项卡,则需要3 - 4秒才能呈现和显示该选项卡。然而,这只是第一次发生。之后切换标签不会显示任何延迟。
附加信息:在呈现窗口之前,我初始化了所有用户控件,包括所有选项卡中使用的用户控件。
我发现了一个hack,通过在启动时将窗口移出屏幕,然后在以编程方式切换所有选项卡后将其带回来。然而,我读到在Windows 8中,如果你将窗口移出屏幕,窗口操作将挂起在内存中。
如何使标签切换和UI响应?
我不能完全避免延迟,但是我可以通过在更改选项卡时放置处理旋转图标覆盖来缓解这个问题。这可以通过调用dispatcher来完成。当用户单击其他选项卡时,在UI线程上调用该图标,并在加载新选项卡时关闭该图标。