1. 程式人生 > >WebKit開發實戰(一):在WPF中使用WebKit控制元件(含示例程式碼)

WebKit開發實戰(一):在WPF中使用WebKit控制元件(含示例程式碼)

WebKit 是一個開源瀏覽器引擎,可以用於程式內建瀏覽器的開發。開發時,需要將WebKit的相關檔案都拷貝至專案檔案,方便程式設計時呼叫,實現WebKit的功能。


在WPF中使用WebKit時,需要新增以下引用。


新增好引用後,就可以在WPF中使用WebKit控制元件了。使用時一般有兩種方法,一種是直接在MainWindow.xaml檔案的介面佈局中新增WebKit控制元件。由於WebKit控制元件原生支援WinForm而非WPF,所以需要在WinFormsHost控制元件之上新增WebKit控制元件,才能使控制元件生效。

新增控制元件引用:

xmlns:wfi="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"

xmlns:wf="clr-namespace:WebKit;assembly=WebKitBrowser"

新增WebKit控制元件:

<Grid Grid.Row="0" x:Name="grdViewerHost">

<WindowsFormsHost>

<wf:WebKitBrowser x:Name="Viewer"></wf:WebKitBrowser>

</WindowsFormsHost>

</Grid>

這樣在繪製主窗體時,就可以直接呼叫WebKitBrowser物件了:

public MainWindow()

{

InitializeComponent();

this.Loaded+= new RoutedEventHandler(MainWindow_Loaded);

this.Closing+= new System.ComponentModel.CancelEventHandler(MainWindow_Closing);

}

private void MainWindow_Loaded(object sender, RoutedEventArgse)

{

Viewer.DocumentText = "";

}

另一種是編寫程式碼,在程式啟動後,繪製主窗體時新增WebKit控制元件。

在MainWindow.xaml檔案添加布局:

<Grid Grid.Row="0" x:Name="grdBrowserHost"/>

MainWindow_Loaded函式繪製控制元件:

webKitBrowser = new WebKit.WebKitBrowser();

webKitBrowser.BackColor= System.Drawing.Color.White;

webKitBrowser.Name ="webKitBrowser1";

webKitBrowser.TabIndex= 0;

System.Windows.Forms.Integration.WindowsFormsHost host = newSystem.Windows.Forms.Integration.WindowsFormsHost();

host.Child =webKitBrowser;

grdBrowserHost.Children.Add(host);