在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>

效果如下:

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

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

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)

效果如下:

三、常见问题及解决方法

1、与.net版本不匹配

两种解决方法:

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

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

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:\Windows\system32\zh-CN\erofflps.txt

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

最新文章

  1. const 与 readonly知多少
  2. 浅谈Excel开发:一 Excel 开发概述
  3. good
  4. UVALive 4221 Walk in the Park 扫描线
  5. 初识shell脚本
  6. Linux如何在虚拟机中挂载iso yum源
  7. linux下包管理命令yum与apt-get以及开发环境配置
  8. innodb_space工具解析 MYSQL 页图解
  9. Linux Shell编程(26)——代码块重定向
  10. Android学习路线(十一)管理Activity的生命周期
  11. 取distinct数据同时还取其他字段
  12. 修改smali文件,重打包,实现调用第三方SO文件
  13. spring mvc3 静态文件放在WEB-INF下无法访问解决和解决@Controller失效问题
  14. ASP.NET Core的身份认证框架IdentityServer4(5)- 包和构建
  15. vue分页组件二次封装---每页请求特定数据
  16. 牛客国庆集训派对Day4 Solution
  17. &lt;---------------线程修改名字、得到名字及开启------------------&gt;
  18. 分布式全局ID生成器设计
  19. [leetcode]Maximum Subarray @ Python
  20. 【C#】SQL数据库助手类1.0(自用)

热门文章

  1. SpringBoot导入Excel数据到MySQL数据库
  2. 时间time模块
  3. 原创:logistic regression实战(一):SGD Without lasso
  4. Java-Long类型精度丢失问题
  5. Evaluation of Sampling and Cross-Validation Tuning Strategies for Regional-Scale Machine Learning Classification
  6. QString 中文编码转换
  7. PostgreSQL体系架构与内存结构
  8. XCode教程之 如何在苹果开发者平台添加设备UDID
  9. python基于redis实现分布式锁
  10. (6)Flask项目之会员注册页面