Win10系列:C#应用控件基础18

时间:2022-09-18 19:21:21

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所示Win10系列:C#应用控件基础18
Win10系列:C#应用控件基础18

图4-29 使用WebView控件显示HTML字符串 图4-30 使用WebView控件显示网页内容

Win10系列:C#应用控件基础18的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox*缩放控件 1. ScrollView ...

  3. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  4. C&num;控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  5. 重新想象 Windows 8 Store Apps &lpar;17&rpar; - 控件基础&colon; Measure&comma; Arrange&comma; GeneralTransform&comma; VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  6. 重新想象 Windows 8 Store Apps &lpar;16&rpar; - 控件基础&colon; 依赖属性&comma; 附加属性&comma; 控件的继承关系&comma; 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  7. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  8. Delphi XE2 之 FireMonkey 入门&lpar;44&rpar; - 控件基础&colon; TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -&gt ...

  9. Delphi XE2 之 FireMonkey 入门&lpar;43&rpar; - 控件基础&colon; TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

随机推荐

  1. Atitit &&num;160&semi;DbServiceV4qb9&&num;160&semi;数据库查询类库v4 新特性

    Atitit  DbServiceV4qb9 数据库查询类库v4 新特性     V4新特性 安全特性,屏蔽了executeUpdate,使用v2版 Sql异常转换,特别转换了DuplicateEnt ...

  2. Windows Phone 8 实现列表触底加载

    [背景] 很多时候在做WP开发的过程中会遇到数据需要分页获取,根据微软官方的推荐方式,建议实现为Market中类似的体验,即滑动到列表的底部的时候加载更多的数据. 这一需求在早起WP7.1时代实现起来 ...

  3. JavaScript高级程序设计26&period;pdf

    DOM操作技术 动态脚本 指得是页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本,跟操作HTML元素一样,创建动态脚本也有2种方式:插入外部文件和直接插入JavaScript代码 var ...

  4. Spring配置多数据源错误总结

    由于系统需要调用多个数据源包含mysql,sqlServe和Oracle,所以要在Spring的xml文件中配置多数据源,一下是配置过程中常见的错误: 1.配置的是mysql的数据源,却报oracle ...

  5. TinyURL缩短网址服务 - Blog透视镜

    TinyURL是个缩短网址服务的网站,提供1个短网址转向指定到长网址,像是杂志书籍中若有网址太长,也都会用TinyURL来缩短网址,例如本篇文章:http://blog.openyu.org/2014 ...

  6. ios变量的property属性设置和意义

    IOS 的@property和@synthesize帮我们轻易的生成对象的getter和setter方法来完成对对象的赋值和访问.但是如果我们如果要动态设置对象的getter和setter方法可以使用 ...

  7. mysql事务及慢查询

    1, 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务 l 原子性:构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行. l 稳定性(一致性):数据库在事 ...

  8. ES6简单总结

    1.变量声明let和const 我们都是知道在ES6以前,var关键字声明变量.无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部).这就是函数变量提升例如: functi ...

  9. 素数筛 codevs 1675 大质数 2

    1675 大质数 2  时间限制: 1 s  空间限制: 1000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 小明因为没做作业而被数学 ...

  10. hdu 5138&lpar;水题&rpar;

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5138 反着来. #include<iostream> #include<cstdi ...