背景:原本wpf项目中使用的自带webbrowser作为内嵌浏览器,由于webbrowser内嵌https://www.js.com网址的时候只能显示首屏(无法拉动滚动条至页面最底部),使得业务无法进行,所以寻思使用CefSharp(chrome浏览器,webkit内核)来替换。
顺便尝试一下NuGet(visual studio下的包管理工具),记录以便查阅。
1.安装NuGet管理工具
点击进去:
点击NuGet Package Manager for Visual Studio 2013 进行安装,安装完后需要重启visual studio 2013.
2.创建名字为CefSharp的WPF项目,并使用NuGet安装CefSharp.Wpf
然后,搜索CefSharp.Wpf并点击安装。
安装可能要花一段时间(可能一个小时吧,cnblogs提供了NuGet镜像https://nuget.cnblogs.com/v3/index.json,使用详细方法:https://www.cnblogs.com/cmt/p/nuget-mirror.html,遗憾的是实测还是很慢,会提示超时。)
哥们已经等了两个小时了,用了镜像也慢,看来只能买VPN了。
终于下载完了,发现NuGet下载的是最新版本cefsharp,需要.net 4.5.2,而我本身系统上是4.5.0,真是哔了狗了,只能使用NuGet的控制台下载了,又要等一个小时了(一天就这么过去了)
看看cefsharp与.net的版本对应关系:
使用命令:Install-Package CefSharp.Wpf -version 49.0.0,下载完成后重启vs.
最后再MainWindow.cs中加入如下代码:

CefSharp.Wpf.ChromiumWebBrowser webView; public MainWindow() { InitializeComponent(); } private void browserGrid_Loaded(object sender, RoutedEventArgs e) { var setting = new CefSharp.CefSettings(); if (CefSharp.Cef.IsInitialized == false) CefSharp.Cef.Initialize(setting, true, false); webView = new CefSharp.Wpf.ChromiumWebBrowser(); this.browserGrid.Children.Add(webView); webView.Address = path; //"http://www.baidu.com" }
最后执行可以看见下面的窗口:
参考文献:
https://www.cnblogs.com/yang-fei/p/4699604.html
http://cefsharp.github.io/
https://www.codeproject.com/Articles/881315/Display-HTML-in-WPF-and-CefSharp-Tutorial-Part
https://www.cnblogs.com/gosteps/p/5310074.html
如果要支持xp系统则推荐使用较老的1.27.0版本,代码示例链接:链接: https://pan.baidu.com/s/1gg84lCf 密码: q426