Win10系列:C#应用控件基础18
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控件显示网页内容
Win10系列:C#应用控件基础18的更多相关文章
- Win10系列:JavaScript 控件的使用
向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...
- WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree
原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
随机推荐
- python数据结构-如何快速找到多个字典中的公共键
如何快速找到多个字典中的公共键 问题举例 统计每轮都进球的球员: 第1轮{‘tom’:1, 'meixi':2} 第2轮{‘coco’:3, 'meixi':4, 'marton':2} 第3轮{'c ...
- 免费的文件比较工具和beyondcomare和source insight的比较工具
Linux下,meld就够了,命令行用用diff也行,kdiff3也不错. 参考 http://www.cnblogs.com/itech/archive/2009/08/13/1545344.htm ...
- 《linux就该这么学》第八节课:第六章存储结构与磁盘划分
笔记 (借鉴请修改) 6.3.文件系统与数据资料 目前linux最常见的文件系统: ext3:日志文件系统.宕机时可自动恢复数据资料,容量越大恢复时间越长,且不能保证百分百不丢失. ext4:e ...
- Linux文件系统的硬连接和软连接
title: Linux文件系统的硬连接和软连接 date: 2018-02-06T20:26:25+08:00 tags: ["文件系统"] categories: [" ...
- DUBBO分布式入门
Dubbox框架简介: Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目广泛使用,但是后阿里巴巴对该项目停止维护了,当当网后来组建了一个团队一直维护Dubb ...
- 51Nod 1085 背包问题 (01背包)
在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数).求背包能够容纳的最大价值. 收起 输入 第1行,2个 ...
- oracel数据库主键自增
-- Create sequence create sequence FILE_ID_SEQ 主键名(自增列) minvalue 1 起始 maxvalue 99999 最 ...
- Appium+python自动化1-环境搭建(上)
前言 appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python.小编擅长Python,所以接下来的教程是appium+py ...
- idea软件快速设置主题颜色
打开idea,然后在File->setting->在搜索框里面输入theme->然后点击appearance->将theme的主题设置为IntellilJ,然后就可以了,如下图 ...
- 表单、框架结构的大概、CSS开头(选择器以及常用属性)
<!--为网页添加图标,写在头部--> <link rel="shortcut icon" href="favicon.ico(路径)" ty ...