我已經環顧四周,但我很難找到一種方式來實現以下:顯示進度條,而網絡瀏覽器加載在WPF
我有一個WPF應用程序用了一個Web瀏覽器控件。我有一個文件保存在磁盤上,我正在使用Navigate方法來加載文件。
我有一個事件處理程序附加到Web瀏覽器的LoadCompleted事件,這個工程。
但是,頁面可能需要很長時間才能加載。我想顯示一個進度條(最好在狀態欄中,但是新窗口沒問題),但我無法找到這樣做。
我試過的每一件事情(後臺工作者,線程)都說調用線程必須是STA,並且似乎進度條作爲一個UI元素,只能在UI線程上更新 - 它被阻止在頁面呈現期間由網頁瀏覽器控制。
或者有沒有辦法在新的線程中運行Web瀏覽器控件?我猜測這不是因爲這也是一個UI元素。
任何幫助,將不勝感激。
p.s.進度條是一個簡單的不確定的欄;我不想更新狀態 - 只是在頁面加載時顯示。
http://msdn.microsoft.com/en-us/library/ms144190.aspx – Paparazzi
這並不是說是數據的下載問題; Web瀏覽器控件會阻塞該線程,直到它下載並顯示數據。而且,這可能會導致其他項目,如圖像和JavaScript/CSS。 –