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

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

原文: 使用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中文幫助文件