WindowsでGtkを使用してMono.WebBrowserを使用する最も簡単な例を考え出そうとしています。Windows.Forms バージョンは正常に動作しますが (Platform.Gtk を指定しない場合の既定値)、既存の Gtk クロスプラットフォーム アプリケーションに統合する必要があります。
簡単な例を次に示します。
public static void Main (string[] args)
{
Gtk.Application.Init ();
Gtk.Window win = new Gtk.Window ("Title");
Mono.WebBrowser.IWebBrowser browser =
Mono.WebBrowser.Manager.GetNewInstance(Mono.WebBrowser.Platform.Gtk);
browser.Load(win.Handle, 500, 250);
win.ShowAll ();
GLib.Timeout.Add( 500, delegate {
browser.Navigation.Go ("http://google.com/");
return false;
});
Gtk.Application.Run ();
}
コンパイル、実行、および browser.Initialized は true です。しかし、Gtk.Window (または私が試した他の Gtk.widget) にはレンダリングされません。ブラウザが実際に自分自身をレンダリングするトリガーは何ですか? これを Window に直接レンダリングできない可能性があります (mono-docbrowser [1] ソースを見たことがありますが、より複雑な例がありますが、どちらもレンダリングされません)。
webkit-sharp を調べましたが、Gtk を使用して Windows または Mac で動作させることができません。
[1] https://github.com/mono/mono-tools/tree/master/docbrowser