我正在使用WPF瀏覽器應用程序。我想知道我何時能夠理解何時加載完頁面並顯示組件開始加載沉重的後臺服務。否則,我只是看到一個白色的頁面幾秒鐘,直到所有的服務都加載...任何建議來解決這個問題?是否有可能瞭解何時WPF窗口或頁面控制加載完成?
這裏是我已經試過的東西:
public Page1()
{
InitializeComponent();
}
private void Page_Loaded_1(object sender, RoutedEventArgs e)
{
// Just some heavy process in the begining
int j = 1;
for (int i = 0; i < 10000000; i++)
{
for (int k = 0; k < 1000; k++)
j=j * 2;
}
MessageBox.Show("ready");
}
然而,頁面組件沒有得到,直到在PAGE_LOADED過程完成頁面加載。如果在page_loaded中沒有繁重的進程,每件事都會很快加載,所以UI中沒有任何問題。
更新:我從頁面或窗口的加載事件中瞭解到的事情是,它在頁面或窗口加載時觸發,並在頁面上加載組件和控件,甚至在頁面或窗口的樣式發生後...我似乎沒有發現任何事件表明控制器的加載已完成...
UPDATE2:對於我的問題更好的解決方案是使用BackgroundWorker或Dispatcher運行繁重的進程背景。正如this文章中所述。
您可以收聽Window,'Page或UserControl'的'Loaded'事件。 – Guillaume
Guillaume發表您的評論作爲一個aswer我應該說... –
@YoupTube,都鐸爲我做了! – Guillaume