2013-07-17 63 views
0

我加載字符串WebBrowser控件,像這樣:WebBrowser控件和loadfinish

ArticleContent.NavigateToString("<p style='font-size:20px; font-weight:bold;'>" +article.Title + "</p><br/>" + article.Text); 

article.Title和article.Text只是HTML字符串。

所以,當我瀏覽這個網頁我試圖顯示加載圖標:

LoadingIcon.Visibility = Visibility.Visible; 

然後加載數據WebBrowser控件後,我禁用加載圖標:

ArticleContent.NavigateToString("<p style='font-size:20px; font-weight:bold;'>" + article.Title + "</p><br/>" + article.Text); 
loadingIcon.Visibility = Visibility.Collapsed; 

問題加載圖標是否早於WebBrowser內容顯示禁用。有什麼事件來處理contentloaded或東西...

編輯:

事件導航工作,但也有一點點延遲...

+1

您是否嘗試過'LoadCompleted'事件:'myBrowser.LoadCompleted + =(s,e)=> loadingIcon.Visibility = Visibility.Collapsed;'? – dkozl

+0

@dkozl'LoadCompleted'是XAML控件上的一個事件,但他們想知道何時呈現HTML。 –

回答

1

的.NET代碼不能直接知道嵌入式瀏覽器何時完成其內容的呈現。

如果您渲染了整個HTML文檔,則可以使用DOM上的onload事件來了解它何時完成渲染。在這種情況下,您可以使用window.external.Notify()回撥您的.net代碼來執行一個功能,該功能將改變控件的可見性。
它有點冗長,但會避免在內容呈現之前顯示控件。