Hatena::ブログ(Diary)

周回遅れのブルース

2017-03-16 WPF TIPS

Q128. IE ベースでない Browser コントロールは存在しないか

| 13:30 | Q128. IE ベースでない Browser コントロールは存在しないかを含むブックマーク

A.昨日のエントリでは WPFWebBrowserコントロールについて書きました。これ IE7という非常に旧いバージョンをベースにしてるので、ページによってはレイアウトが大きく崩れます。それを回避するのがレジストリ編集な訳なんですが、標準コントロールにも関わらずそこまでしなきゃいけないのは、なんとも気持ち悪すぎます。何とかならんかということで、WebBrowser 以外の Browserコントロールを探したところ、一つ面白いのが見つかりました。

DotNetBrowser というChromium ベースのBrowserコントロールが TeamDev 社から提供されてたので、早速これを試してみたいと思います。

DotNetBrowser

f:id:hilapon:20170316132611p:image:w500



サンプルプログラム

Visual Studio を起動し「WPFアプリケーション」のテンプレートを選択。プロジェクト名は「DotNetBrowserSample」にします。

次はパッケージマネージャを起動して、DotNetBrowser のパッケージをインストールします。

Install-Package DotNetBrowser

プロジェクトの参照設定を展開すると、以下のアセンブリが追加されたのが確認できると思います。

DotNetBrowser

DotNetBrowser.Chromium

ビューの XAML名前空間に DotNetBrowser を追加。TextBox と WPFBrowserView コントロールを配置し、WPFBrowserView.URL プロパティと TextBox.Text プロパティをバインドさせます。WebBrowser では Source プロパティにバインドできなかったので、バインドできる分便利になってると思います。以下のXAMLをご覧ください。


一応「更新」ボタンも設けて、クリックイベントも実装しておきます。



評価用ライセンス

ここでビルドして起動すると例外吐いて落ちます。残念ながらライセンスを取得してないと起動することができません。よって評価用のライセンスを取得し起動してみたいと思います。

DotNetBrowser の製品ページ右上の「EVALUTE NOW」をクリックし申請フォームに移動、必要事項を入力した後「GET EVALUTION」をクリックします。

f:id:hilapon:20170316132608p:image:w500

f:id:hilapon:20170316132609p:image:w500


しばらくすると、TeamDev 社から「Your Free 30 Days Trial」というタイトルのメールが届くので、「Download Evalution Licence」をクリック。

f:id:hilapon:20170316132610p:image


すると teamdev.licenses というライセンスファイルがダウンロードされます。30日無償評価用ライセンスファイルですね。これをプロジェクトに追加し、ビルドアクションを「埋め込みリソース」にしてビルドし起動します。

f:id:hilapon:20170316132611p:image:w500

ためしに ACID3テストを行ってみました。100点は取れるが、左上の「YOU SHOULD NOT SEE THIS AT ALL」 という表示が気になりますね。

http://acid3.acidtests.org/

f:id:hilapon:20170316132612p:image:w500


あと WPFBrowserView の URL プロパティですが、バインドできるのは初期化時だけで、ページ遷移するのはコードビハインドに実装するしかないようです。うーん、残念。


ライセンスとお値段

さて DotNetBrowser のお値段ですが、Licensing and Pricing ページで価格を見ると、以下のようになってます。*1

ライセンスの種類価格サポート備考
Per Developer$1,199年間55時間開発者に紐づく(1名1ライセンス)
Project$3,549年間75時間1プロジェクトごと(複数開発者可)
Company-wide$10,799年間500時間会社全体
Source Code For 1 Developer$7,999 -ソースコード

はたして高いか安いか、皆さんの判断にお任せしますが、IE対応以外の WebBrowser が存在しない状況下、開発にかかる工数や配布のことも考えると、DotNetBrowser も選択肢の内に入れてみてもいいかも知れません。




WPF FAQ の目次に戻る

 

*1:2017/03/16現在

matarillomatarillo 2017/03/25 18:12 CefSharp http://cefsharp.github.io/ や Awesomium http://www.awesomium.com/ なんてのもありました。前者はOSSで無料ですが、Acid3だと99点になってしまいました……

hilaponhilapon 2017/03/27 10:47 情報ありがとうございます。機会みて試してみたいと思います。