WebView控件
使用WebView控件可以在应用中添加一个简易的网页浏览器窗口,将指定地址的网页内容显示出来,并可以通过WebView控件所提供的方法、属性及事件,实现如页面导航、HTML文本解析等操作。
在XAML文件中,WebView控件的用法如下所示:
<WebView .../>
下面介绍一下WebView控件的几个常用属性:
- Name属性,获取或设置WebView控件的名称。
- Source属性,获取或设置在WebView控件中打开的URI地址。
介绍完常用属性后,接着来看一下WebView控件的常用方法:
- NavigateToString方法,显示指定的HTML字符串内容。
- Navigate方法,显示指定URI地址的网页内容。
下面首先通过一个简单的示例来介绍如何使用WebView控件解析一段HTML文本并显示。
(1)HTML文本解析
新建一个名为"ShowHtmlDemo"的Windows应用商店的空白应用程序项目,在MainPage.xaml文件的Grid元素中使用如下代码添加一个WebView控件。
<WebView Name="ShowHtml" HorizontalAlignment="Left" Height="100" Width="200" Margin="348,134,0,0" VerticalAlignment="Top"/>
代码中添加了一个WebView控件并设置其Name属性值为ShowHtml,Height属性和Width属性的值为100,HorizontalAlignment属性的值为Left,VerticalAlignment属性的值为Top。
打开MainPage.xaml.cs文件在OnNavigatedTo方法中,定义一个HTML字符串,接着使用此字符串作为参数,调用WebView控件实例ShowHtml的NavigateToString方法,代码如下所示:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
string htmlString = "<html><head></head><body><h4>WebView控件文本解析</h4><div style='font-family:FangSong'>使用WebView控件解析HTML文本</div></body></html>";
ShowHtml.NavigateToString(htmlString);
}
上面的代码定义了一个string类型的变量htmlString,用于存储一段HTML文本,然后以变量htmlString作为参数调用ShowHtml的NavigateToString方法,将HTML文本解析并显示在界面的WebView控件中。
运行程序,在界面的WebView控件中将显示解析完成的网页内容,效果如图4-29所示。
除了为WebView控件提供需要解析并显示的HTML文本外,还可以直接为WebView控件提供一个网络URI地址,通过对网络URI地址的访问获取需要显示的HTML文本信息,接下来通过一个简单示例演示这一过程。
(2)网页浏览
新建一个名为"ShowWebDemo"的Windows应用商店的空白应用程序项目,在MainPage.xaml文件中添加一个WebView控件,代码如下所示:
<WebView Name="ShowWeb" HorizontalAlignment="Left" Height="120" Width="320" Margin="348,134,0,0" VerticalAlignment="Top"/>
上面的代码设置了WebView控件的Name属性值为ShowWeb,Height属性的值为120,Width属性的值为320,HorizontalAlignment属性的值为Left,VerticalAlignment属性的值为Top。
在MainPage.xaml.cs文件的OnNavigatedTo方法中,定义一个Uri地址,并使用此Uri地址作为参数,调用WebView控件所提供的Navigate方法将地址页面显示出来,代码如下所示:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Uri targetUri = new Uri("http://www.microsoft.com");
ShowWeb.Navigate(targetUri);
}
上面的代码定义了一个Uri类的对象targetUri并实例化此对象为http://www.microsoft.com,然后把targetUri对象作为ShowWeb.Navigate方法的参数,将地址内容显示在WebView控件中。
运行程序,在界面上的WebView控件中将显示微软官方网站的主页面,如图4-30所示
图4-29 使用WebView控件显示HTML字符串 图4-30 使用WebView控件显示网页内容