前の記事でCefSharp.Wpfの使用例が出ていたが,デザイナーを使っていなかった。
今回はデザイナーを使う例を掲載する(差分だけ)。
デザイナーの方は,例えば,以下のようになる。Windowタグにxmlns:cefwpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"追加するとコンテンツとしてコントロールを記述できる。(何も言わなくてもわかると思いますが)
<Window x:Class="WPFwebui.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WPFwebui" xmlns:cefwpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" Background="White"> <Grid> <cefwpf:ChromiumWebBrowser x:Name="browser" Address="http://www.google.com" Loaded="BrowserLoaded"></cefwpf:ChromiumWebBrowser> </Grid> </Window>
なお前の記事の時はコードビハインドにbrowserを記述していたが,差分となる部分だけをのせると以下のようになるだろう。
// CefSharp.Wpf.ChromiumWebBrowser browser; public MainWindow() { InitializeComponent(); //browser = new CefSharp.Wpf.ChromiumWebBrowser(); // アドレスの取得 String page = string.Format(@"{0}\html-resources\html\index.html", StartupPath); BrowserSettings browserSettings = new BrowserSettings(); browserSettings.FileAccessFromFileUrls = CefState.Enabled; browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; browser.BrowserSettings = browserSettings; // アドレス設定 browser.Address = page; //Content = browser; //browser.Loaded += BrowserLoaded;
以上のようにするとCefSharp.Wpfでデザイナーが使用できる。browserは複数挿入することができる。
タスクマネージャーを見るとCefSharp.BrowserSubprocessが増える。