【问题标题】:Windows 10 universal app WebView without pageWindows 10 通用应用 WebView 无页面
【发布时间】:2016-07-28 13:13:30
【问题描述】:

有没有办法在没有实际页面的情况下使用 WebView?

我尝试通过 new WebView() 实例化 webview,然后调用 Navigate to url 但未调用我注册的导航完成处理程序。

【问题讨论】:

    标签: uwp windows-10-universal


    【解决方案1】:

    我尝试通过 new WebView() 实例化 webview,然后调用 Navigate to url 但未调用我注册的导航完成处理程序。

    我们需要将WebView控件添加到xaml容器中(GridStackPanel等),然后WebView.NavigationCompleted事件将在WebView完成加载当前内容或如果导航失败。

    例如:

    XAML:

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" x:Name="rootGrid">
    
    </Grid>
    

    代码背后:

    public MainPage()
        {
            this.InitializeComponent();
            WebView wb = new WebView();
            wb.Source = new Uri("http://www.microsoft.com");
            wb.NavigationCompleted += Wb_NavigationCompleted;
            rootGrid.Children.Add(wb);
        }
    
        private void Wb_NavigationCompleted(WebView sender, WebViewNavigationCompletedEventArgs args)
        {
            throw new NotImplementedException();
        }
    

    如果您不想在 UI 中显示 WebView 页面,只需将 Visibility 属性设置为 Collapsed

    wb.Visibility = Visibility.Collapsed;
    

    -----更新 07/28/2016--------

    如果你只是需要从后面的代码加载html页面,WebView控件不是正确的选择,有两种解决方案:

    1. 使用HttpClient类请求网页

      查看the official sample

    2. 使用第三方库,例如Html Agility Pack,请看Sunteen对该问题的回答:HtmlAgility:no contents appeared (C#,UWP)

    【讨论】:

    • 我没有页面。
    • @user1744147 如果您只需要从后面的代码中加载html页面,请查看我在回答中更新的部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2015-11-08
    • 1970-01-01
    • 2016-01-28
    相关资源
    最近更新 更多