2011-04-10 43 views
2

我正在開發Windows Phone應用程序。WebBrowser控件:在導航時顯示給用戶

我正在使用WebBrowser控件,並且在加載頁面時向用戶顯示。我已經使用過活動:

private void Browser_Navigating(object sender, Microsoft.Phone.Controls.NavigatingEventArgs e) 
{ 
    LoadingText.Visibility = System.Windows.Visibility.Visible; 
} 

private void Browser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) 
{ 
    LoadingText.Visibility = System.Windows.Visibility.Collapsed; 
} 

但它不起作用。

有什麼建議嗎?

回答

3

我覺得你的問題是在navigated事件 - 這

msdn

當WebBrowser控件導航到一個新的文件,並已開始加載它發生。

這顯然可能在文檔實際呈現之前很久。

我不確定是否有任何事件用於確定頁面何時完全加載並呈現。

在iron7中,我使用計時器檢測編輯器何時加載 - 該計時器不斷嘗試在腳本中調用javascript方法 - 我知道這些僅在文檔javascript ready發生後纔可用。

+0

對不起,是我的錯。我在屏幕外面放置了文本框,所以我看不到它。這不是一個事件選擇,它是一個位置錯誤。我的錯誤。抱歉。 – VansFannel 2011-04-11 09:39:23

+0

它正在處理這些事件。 – VansFannel 2011-04-11 10:00:30

+0

非常好。在解決你自己的問題上做得很好 - 看起來像非透明的瀏覽器控件再次發生罷工! – Stuart 2011-04-11 10:38:39

3

嘗試使用LoadCompleted事件:

private void Browser_LoadCompleted(object sender, NavigationEventArgs e) 
{ 
    LoadingText.Visibility = System.Windows.Visibility.Collapsed; 
} 

這確保一旦一切都呈現承重橫條就會消失。

請參閱MSDN頁:http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.webbrowser.loadcompleted(v=VS.92).aspx

(我認爲斯圖爾特一直在尋找在Windows窗體實現web瀏覽器,而不是電話控制)

+0

對不起,這是我的錯。我在屏幕外面放置了文本框,所以我看不到它。這不是一個事件選擇,它是一個位置錯誤。我的錯誤。抱歉。 – VansFannel 2011-04-11 09:37:43

+0

它正在處理這些事件。 – VansFannel 2011-04-11 09:40:26

+0

太好了 - 很高興你明白了。 – johnhforrest 2011-04-11 14:18:01