Элемент управления WebBrowser: показывать пользователю при навигации - PullRequest
2 голосов
/ 10 апреля 2011

Я разрабатываю приложение для Windows Phone.

Я использую элемент управления 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;
}

Но это не работает.

Любой совет?

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

Попробуйте использовать событие 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

(Я думаю, что Стюарт смотрел на реализацию WebBrowser в Windows Forms, а не на Phone Control)

3 голосов
/ 10 апреля 2011

Я думаю, ваша проблема в событии navigated - это

С MSDN

Происходит, когда элемент управления WebBrowser перешел к новому документу и начал его загрузку.

Очевидно, что это может произойти задолго до того, как документ будет действительно отображен.

Я не уверен, что есть какое-либо событие, чтобы определить, когда страница полностью загружена и отображается.

В iron7 я определяю, когда редактор загружается с помощью таймера - этот таймер продолжает пытаться вызывать методы javascript в скрипте - я знаю, что они доступны только после появления документа javascript ready

...