【发布时间】:2010-12-22 05:59:11
【问题描述】:
当在我的全屏 WPF 应用程序中切换窗口时,如果这是第一次显示屏幕,则在显示窗口之前显示器会暂时变黑。这仅在第一次显示窗口时发生。有没有办法预先加载每个窗口,这样就不会发生这种情况?
这是我尝试过的:
myWindow.Show();
myWindow.Hide();
但有可见的闪烁。
然后我尝试了:
myWindow.Height = 0;
myWindow.Width = 0;
myWindow.WindowState = WindowState.Normal;
myWindow.Show();
myWindow.Hide();
myWindow.Height = Screen.PrimaryScreen.Bounds.Height;
myWindow.Width = Screen.PrimaryScreen.Bounds.Width;
myWindow.WindowState = WindowState.Maximized;
没有闪烁,但是当我随后显示窗口时,它以奇怪的状态显示了一瞬间,然后更新以正确显示。
【问题讨论】:
-
我只想补充一点,这不仅仅是全屏应用的问题。打开包含很多视觉效果的新窗口时,我遇到了同样的问题。问题在于创建数千个不同的包装器,例如对于项目控件中的项目,首次布局构建和渲染。第一次切换到包含大量控件的选项卡时,可能会出现同样的问题。因此,如果有人知道如何预加载控件,那就太好了。