【发布时间】:2016-07-28 13:13:30
【问题描述】:
有没有办法在没有实际页面的情况下使用 WebView?
我尝试通过 new WebView() 实例化 webview,然后调用 Navigate to url 但未调用我注册的导航完成处理程序。
【问题讨论】:
有没有办法在没有实际页面的情况下使用 WebView?
我尝试通过 new WebView() 实例化 webview,然后调用 Navigate to url 但未调用我注册的导航完成处理程序。
【问题讨论】:
我尝试通过 new WebView() 实例化 webview,然后调用 Navigate to url 但未调用我注册的导航完成处理程序。
我们需要将WebView控件添加到xaml容器中(Grid、StackPanel等),然后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控件不是正确的选择,有两种解决方案:
使用HttpClient类请求网页
使用第三方库,例如Html Agility Pack,请看Sunteen对该问题的回答:HtmlAgility:no contents appeared (C#,UWP)
【讨论】: