2009-12-02 3 views
6

내 전체 화면 WPF 응용 프로그램에서 창 사이를 전환 할 때 처음으로 화면이 표시되면 모니터가 잠시 후 창이 표시됩니다. 이것은 처음 윈도우가 표시 될 때만 발생합니다. 이 문제가 발생하지 않도록 각 창을 미리로드하는 방법이 있습니까?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; 

아니 깜박임,하지만 난 후 창을 표시 할 때 두 번째 다음 제대로 표시하도록 업데이트 분할에 대한 이상한 상태에서는 자신을 보여 주었다 :

은 그 때 나는 시도하지.

+0

난 그냥 전체 화면 애플 리케이션의 문제뿐만 아니라 추가하고 싶습니다. 많은 시각적 요소가 포함 된 새 창을 열 때도 동일한 문제가 발생합니다. 예를 들어 수천 개의 다른 래퍼를 만드는 데 문제가 있습니다. 항목 컨트롤의 항목, 처음으로 레이아웃을 작성하고 렌더링합니다. 첫 번째로 많은 컨트롤이 포함 된 탭으로 전환 할 때 같은 문제가 발생할 수 있습니다. 따라서 컨트롤을 미리로드하는 방법을 알고있는 사람이라면 정말 좋을 것입니다. – levanovd

답변

0

나는 비슷한 문제가있었습니다. 결국 나는 스플래시 스크린을 만들고 컨트롤을 스플래시 스크린 뒤의 별도 스레드에로드했습니다. 이렇게하면 깜박이는 것이 멈추었지만 initail 앱을 더 오랫동안로드 할 수있게되었습니다.

+0

어떻게 그랬습니까? 스플래시 화면에 모든 창을 표시하지 않고 인스턴스화 할 수 있습니까? – SRKX