WPF窗口预加载

时间:2009-12-02 00:56:44

标签: c# wpf window

在我的全屏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;

没有闪烁,但是当我显示窗口时,它显示自己处于奇怪的状态一瞬间然后更新以正确显示。

2 个答案:

答案 0 :(得分:0)

我有类似的问题。最后,我创建了一个启动画面,并在一个单独的线程中将控件加载到启动画面后面。这停止了​​闪烁,但使得initail应用程序的加载时间更长。

答案 1 :(得分:0)

显然这个人问了一个更清楚的问题。

How can I avoid flicker in a WPF fullscreen app?