有的时候,咱们须要在程序中嵌入Web浏览器,其实.Net Framework中自己就提供了WebBrowser控件,自己这个是最简单易用的方案,但不知道是什么缘由,这个控件在浏览网页的时候有些莫名的卡顿,有的时候甚至能达到好几秒,严重影响体验。git
这个时候,咱们能够考虑使用第三方浏览器来代替系统的WebBrowser,常见的方案是使用版本帝Chrome,Chrome自己提供了供第三方程序嵌入的方案Chromium Embedded Framework (CEF),但这个是C++的接口,在.Net程序中使用仍是有必定的工做量的。不过目前已经有一些开源的项目完成了这一封装,其中的一个佼佼者就是CefSharp,WPF和WinForm的封装都实现了,本文就简单的介绍一下如何在WPF程序中使用CefSharp来嵌入Chrome浏览器。github
安装: web
安装的过程很是简单,只要使用NuGet安装CefSharp.Wpf便可。浏览器
PM> Install-Package CefSharp.Wpf 网站
安装过程自己比较常规,不过值得一提的是,这个包很是大,因为集成了x86和x64的版本,整个包(加上几个依赖的包)达到了200多mb,基于众所周知的缘由,和Nuget的访问一直不大通畅,有时还抽风整个过程很是漫长,必定要有足够的耐心以及人品。this
修改编译选项: spa
因为Chrome是原生程序,目前CefSharp还不能作到32位和64位自动识别,不能使用默认的AnyCPU的编译选项,须要修改一下配置管理器,改为x86或x64才行。3d
使用: orm
使用的过程比较简单,直接使用以下代码便可。blog
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
var setting = new CefSharp.CefSettings();
CefSharp.Cef.Initialize(setting, true, false);
var webView = new CefSharp.Wpf.ChromiumWebBrowser();
this.Content = webView;
webView.Address = "http://www.cnblogs.com/TianFang/";
}
本文只是简单的介绍了一下CefSharp的基本用法,下篇文章中再介绍下更多介绍一下如何进行更加深刻的定制,在CefSharp的网站上自己就有比较详细的例子,感兴趣的朋友能够研究一下。
更多的教程能够参考这篇文章: CefSharp中文帮助文档