【问题标题】:WebBrowser control: show to user when it's navigatingWebBrowser 控件:在导航时显示给用户
【发布时间】:2011-04-11 12:36:17
【问题描述】:

我正在开发一个 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;
}

但它不起作用。

有什么建议吗?

【问题讨论】:

    标签: windows-phone-7 webbrowser-control


    【解决方案1】:

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

    来自msdn

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

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

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

    在 Iron7 中,我使用计时器检测何时加载编辑器 - 该计时器不断尝试调用脚本中的 javascript 方法 - 我知道这些仅在文档 javascript ready 发生后可用。

    【讨论】:

    • 对不起,这是我的错。我把文本框放在屏幕外面,所以我看不到它。这不是事件选择,而是位置错误。我的错误。对不起。
    • 优秀。解决您自己的问题做得很好 - 看起来不透明的浏览器控件又来了!
    【解决方案2】:

    尝试使用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 窗体实现而不是电话控件)

    【讨论】:

    • 对不起,这是我的错。我把文本框放在屏幕外面,所以我看不到它。这不是事件选择,而是位置错误。我的错误。对不起。
    • 太棒了 - 很高兴你明白了。
    猜你喜欢
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多