WebBrowser控件:在用户导航时向用户显示

时间:2011-04-10 17:57:47

标签: windows-phone-7 webbrowser-control

我正在开发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 个答案:

答案 0 :(得分:3)

我认为您的问题出在navigated事件中 - 此

来自msdn

  

在WebBrowser控件导航到新文档并开始加载时发生。

这显然可能在实际呈现文档之前很久。

我不确定是否有任何事件可用于确定页面何时完全加载并呈现。

在iron7中,我通过使用计时器检测编辑器的加载时间 - 该计时器一直试图在脚本中调用javascript方法 - 我知道这些只在文档javascript ready发生后才可用。

答案 1 :(得分: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

(我认为Stuart正在研究WebBrowser的Windows Forms实现,而不是手机控制)