1. 程式人生 > >使用CefSharp在.Net程序中嵌入Chrome瀏覽器(一)——簡介

使用CefSharp在.Net程序中嵌入Chrome瀏覽器(一)——簡介

get 做到 ini nta args als sta 就是 c++

原文:使用CefSharp在.Net程序中嵌入Chrome瀏覽器(一)——簡介

有的時候,我們需要在程序中嵌入Web瀏覽器,其實.Net Framework中本身就提供了WebBrowser控件,本身這個是最簡單易用的方案,但不知道是什麽原因,這個控件在瀏覽網頁的時候有些莫名的卡頓,有的時候甚至能達到好幾秒,嚴重影響體驗。

這個時候,我們可以考慮使用第三方瀏覽器來代替系統的WebBrowser,常見的方案是使用版本帝Chrome,Chrome本身提供了供第三方程序嵌入的方案Chromium Embedded Framework (CEF),但這個是C++的接口,在.Net程序中使用還是有一定的工作量的。不過目前已經有一些開源的項目完成了這一封裝,其中的一個佼佼者就是CefSharp,WPF和WinForm的封裝都實現了,本文就簡單的介紹一下如何在WPF程序中使用CefSharp來嵌入Chrome瀏覽器。

安裝:

安裝的過程非常簡單,只要使用NuGet安裝CefSharp.Wpf即可。

PM> Install-Package CefSharp.Wpf

安裝過程本身比較常規,不過值得一提的是,這個包非常大,由於集成了x86和x64的版本,整個包(加上幾個依賴的包)達到了200多mb,基於眾所周知的原因,和Nuget的訪問一直不大通暢,有時還抽風整個過程非常漫長,一定要有足夠的耐心以及人品。

修改編譯選項:

由於Chrome是原生程序,目前CefSharp還不能做到32位和64位自動識別,不能使用默認的AnyCPU的編譯選項,需要修改一下配置管理器,改成x86或x64才行。

技術分享圖片

技術分享圖片

使用:

使用的過程比較簡單,直接使用如下代碼即可。

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中文幫助文檔

使用CefSharp在.Net程序中嵌入Chrome瀏覽器(一)——簡介