WPF中内嵌网页的两种方式

摘要:
在wpf程序中,有时会嵌入网页。嵌入式网页有两种方法:一种是使用wpf提供的WebBrowser控件调用IE内核,另一种是用CefSharp包调用chrome内核。最后发现,由于缺少MicroSoftVisualC++可再发行版,您可以下载并安装每个版本的软件包。

在wpf程序中,有时会内嵌网页。内嵌网页有两种方法,一种是使用wpf自带WebBrowser控件来调用IE内核,另一种是使用CefSharp包来调用chrom内核。

一、第一种使用自带WebBrowser:

1、直接在界面XAML文件中添加如下代码

1 <Grid>
2         <Grid.RowDefinitions>
3             <RowDefinition Height="auto"/>
4             <RowDefinition Height="*"/>
5         </Grid.RowDefinitions>
6         <Button Content="{DynamicResource Exit}" Style="{StaticResource ButtonStyle}" Command="{Binding ExitCommand}"></Button>
7         <WebBrowser Grid.Row="1" x:Name="MyIE" Source="https://www.baidu.com/"></WebBrowser>
8 </Grid>

效果如下:

WPF中内嵌网页的两种方式第1张

二、第二种,使用CefSharp包调用chrom内核

1、在解决方案资源管理器-》引用-》右键-》管理NuGet包,下载下图所示的两个包

WPF中内嵌网页的两种方式第2张

2、在引用文件中添加xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"

3、在界面XAML文件中添加如下代码:

1 <Grid>
2         <Grid.RowDefinitions>
3             <RowDefinition Height="auto"/>
4             <RowDefinition Height="*"/>
5         </Grid.RowDefinitions>
6         <Button Content="{DynamicResource Exit}" Style="{StaticResource ButtonStyle}" Command="{Binding ExitCommand}"></Button>
7         <cefSharp:ChromiumWebBrowser Grid.Row="1" Name="MyChrom" Address="https://www.baidu.com/"/>
8 </Grid>

4、解决方案资源管理器-》项目-》属性-》生成,修改平台目标为x86或者x64(使用cefSharp,必须指定目标平台,不能为AnyCPU)

WPF中内嵌网页的两种方式第3张

效果如下:

WPF中内嵌网页的两种方式第4张

三、常见问题及解决方法

1、与.net版本不匹配

WPF中内嵌网页的两种方式第5张

两种解决方法:

(1)下载一个低版本的NuGet包

(2)解决方案资源管理器-》项目-》属性-》应用程序,目标框架改为4.5.2

WPF中内嵌网页的两种方式第6张

2、出现错误:

问题签名:
问题事件名称: CLR20r3
问题签名 01: XXX.exe
问题签名 02: 1.0.0.0
问题签名 03: f62cc746
问题签名 04: CefSharp.Wpf
问题签名 05: 49.0.1.0
问题签名 06: 574e0907
问题签名 07: 81
问题签名 08: 0
问题签名 09: System.IO.FileNotFoundException
OS 版本: 6.1.7601.2.1.0.256.1
区域设置 ID: 2052
其他信息 1: 3b8f
其他信息 2: 3b8f40338d3d7600dda7280b94b47c80
其他信息 3: a55c
其他信息 4: a55ca54e15598fd09281b24e67624ba3

联机阅读隐私声明:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
C:Windowssystem32zh-CNerofflps.txt

这个错误是作者将自己电脑程序拷贝到别人电脑时出现的错误,百度了很多,基本都是说.net版本不一致错误,安装了很多.net框架版本,并没有什么用。最后发现是由于缺少MicroSoft Visual C++ Redistributable,下载各个版本的包安装即可。

免责声明:文章转载自《WPF中内嵌网页的两种方式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Azure Blob 文件索引检索查询 -- RedisSearch 篇在Visual C++ 中使用内联汇编 冷夜下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF 自定义ColorDialog DropDownCustomColorPicker

今天分享一个 WPF 版的ColorDialog,该控件源自 这里,不过笔者已经该控件做了大量的修改工作,以适应自己的产品需求,闲话少说,先看看效果图: 1、DropDownCustomColorPicker 效果图 先看原项目的(喜欢这种方式的,请到 这里下载源码 ) 被笔者修改之后的效果图: 二、DropDownCustomColorPicker...

WPF技术点

常用Path路径 正三角形(左):<Path Data="M40,0 L0,30 40,60 z" Stretch="Uniform"/> 正三角形(上):<Path Data="M0,40 L30,0 60,40 z" Stretch="Uniform"/> 正三角形(右):<Path Data="M0,0 L40,...

CefSharp 浏览器核心,爬虫

CefSharp是什么 A framework for embedding web-browsing-like capabilities to a standard .NET application (WPF or Windows Forms). A set of high-level custom controls to make it reasona...

WPF 查找控件的所有子控件

/// <summary> ///查找子控件 /// </summary> /// <typeparam name="T">控件类型</typeparam> /// <param name="parent">父控件依赖...

周末充电之WPF(四).多窗口之间操作

多窗口实例: 1.在多个窗口的情况下如何自定义指定要启动的窗口程序 1 <Application x:Class="toolbar.App" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x...

WPF界面开发:DevExpress WPF在GridControl中固定行时处理时刻

DevExpress广泛应用于ECM企业内容管理、 成本管控、进程监督、生产调度,在企业/政务信息化管理中占据一席重要之地。通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能...