WPFでウェブブラウザ機能を使うときにはWebBrowserコントロールを使う。ちょっといじくれば、ほぼこれで事足りる。Chromiumベースで行きたい場合は、EO.WebBrowserが良さそう、という話。
左から、標準WebBrowserコントロール、CefSharp、EO.WebBrowser
標準WebBrowserコントロール(IE11ベース)
デフォルトだと無駄にJavaScriptのエラーを吐くしIE7相当なので、JavaScriptのエラーのポップアップを抑止して、バージョンを最新にしてあげると、使いやすくなる。
CefSharpのWebBrowser(Chromiumベース Ver53)
一見良さそうに見えるんだけど、日本語入力ができない。なんか、Google Chromeもちょくちょくそんな話があったような。あと、たまに前のページの表示が残ることがある。イベントの処理もどうもおかしい気もする。
EO.WebBrowser(Chromiumベース Ver49)
日本語も入力できるし、表示の残りも無い。ただし、2016年12月1日現在、Google ChromeはVer54なので、ちょっとだけ古い。継続的にアップデートしてくれると良いんだけど。フリートライアルでは、右下に広告が付く。
他
Gecko(Firefoxベース)やWebKit(Chromium)のコントロールは他にもあるんだけど、最終アップデートが数年前だったり、Winformsだったり、x86向けだったりが多くて、どうも使いにくい。
Awesomiumは本家のサンプルと、NuGetから取得できるUnoffcial両方とも、日本語のインライン入力ができない。一応日本語は一文字ずつ入力はできる。
WinformsならGeckoFXも良さそう。
ファイル一式
https://github.com/umhr/CSharpWPF_WebBrowsers/
参考
WPFのWebBrowserでJavaScriptのエラーのポップアップを抑止する
ゴリゴリ★コード_C# : WebBrowserのIEバージョンを最新にする。
[C#] WebBrowser コントロールで使われている Internet Explorerを最新のバージョンに変更する
C#: WebBrowser vs Gecko vs Awesomium vs OpenWebKitSharp: What To Choose And How to Use – CodeProject