2013-05-14 89 views
2

我的應用需要在啓動時在MainWindow中加載usercontrol。 但是,usercontrol的初始化很慢。 (不是因爲載業務數據的,我已經從業務層分離UI)在等待usercontrol初始化時顯示繁忙指示燈

我想做的事在等待用戶控件的初始化,一個繁忙的指標將出現並消失時的初始化usercontrol完成。

現在我在MainViewModel中有一個IsBusy屬性,並且是數據綁定到MainWindow中的busyindicator。

child usercontrol通過contentcontrol顯示。

presenter.Content = new ChildUserControl(); 
//presenter is the contentcontrol in MainWindow 

然而,如何同時運行初始化,同時忙碌指標的顯示?看來我需要不同的線程來處理這個問題。

但是,在讓主UI線程顯示忙指示符的同時在其他線程上運行初始化將不起作用,因爲另一個線程中的子控件不能放在其父控件中,在本例中爲MainWindow。

有關於此的任何想法?

回答

0

顯示動畫加載光標怎麼樣? Windows已經處理鼠標上的線程。我以前有過這個問題,我在另一個線程上實現了自己的加載動畫,但是我的渲染優先級有問題,導致主執行代碼變慢,除非鼠標光標在進度對話框上移動。 https://stackoverflow.com/a/307020/2247427

+0

感謝您的輸入。 – user2127480