2012-10-02 2 views
1

WPF 브라우저 응용 프로그램에서 작업 중입니다. 문제는 초보자에게 무거운 서비스를로드해야하기 때문에 페이지 구성 요소가로드되기 전에 몇 초 동안 흰색 페이지가 표시됩니다. 무거운 프로세스가 끝나기를 기다리지 않고 페이지를로드함으로써 어떻게 든이를 피할 수있는 방법이 있습니까? 여기 무거운 프로세스가 끝날 때까지 기다리지 않고 WPF 페이지 또는 창을 표시하는 방법

는 지금 노력하고있는 것입니다, 그것은 작동하지 않았다 :

public Page1() 
    { 
     InitializeComponent(); 
    } 

    private void Page_Loaded_1(object sender, RoutedEventArgs e) 
    { 
     // Initialize and configure kinect 
     // This takes some seconds 
    } 

나는 페이지의 모든 구성 요소가로드를 완료 한 후 PAGE_LOADED 이벤트가 발생할 생각했다. 하지만 여전히 프로세스가 완료 될 때까지 기다리고 시작 부분에 몇 초의 흰색 페이지가 나타납니다.

+4

멀티 스레딩은 유일한 선택에 관한 것입니다 - 그 검색. 나는 본격적인 답을 찾을 시간이 없지만, 그것은 올바른 방향으로 당신을 가리켜 야합니다. –

답변

1

두 가지 경우 모두에서 BackGroundWorker를 사용할 수 있습니다.
백그라운드에서 UI 컨트롤을 빌드하거나로드 할 수 없습니다.
데이터 및 (비 UI) 개체를 백그라운드에서 빌드하고 콜백에서 바인딩하십시오.

BackgroundWorker Class