次の方法で共有


WPF のブラウザーのホスト処理をサポートするネイティブ API

Web ブラウザーでの WPF アプリケーションのホストは、WPF ホストの外部に登録された Active ドキュメント サーバー (DocObject とも呼ばれます) によって実現されます。 Internet Explorer は、アクティブ ドキュメントを直接アクティブ化して統合することができます。 Mozilla ブラウザーで XBAP および Loose XAML ドキュメントをホストするために、WPF は NPAPI プラグインを提供します。このプラグインは、Internet Explorer で提供されるのと似たホスト環境を WPF Active ドキュメント サーバーに提供します。 しかし、他のブラウザーおよびスタンドアロン アプリケーションで XBAP および XAML ドキュメントをホストする最も簡単で実際的な方法は、Internet Explorer の Web ブラウザー コントロールを使用することです。 Web ブラウザー コントロールは、複雑な Active ドキュメント サーバー ホスト環境を提供するだけでなく、自身のホストがその環境をカスタマイズおよび拡張し、現在の Active ドキュメント オブジェクトと直接通信できるようにします。

WPF Active ドキュメント サーバーは、IOleObjectIOleDocumentIOleInPlaceActiveObjectIPersistMonikerIOleCommandTarget などの共通ホスト インターフェイスを実装します。 Web ブラウザー コントロールでホストされた場合、これらのインターフェイスは、IWebBrowser2::Document プロパティで返されるオブジェクトからクエリできます。

IOleCommandTarget

WPF Active ドキュメント サーバーの IOleCommandTarget の実装は、標準 OLE コマンド グループ (コマンド グループ GUID は null) のさまざまなナビゲーション関連コマンドおよびブラウザー固有のコマンドをサポートします。 また、CGID_PresentationHost という名前のカスタム コマンド グループも認識します。 現在、このグループ内で定義されているコマンドは 1 つだけです。

DEFINE_GUID(CGID_PresentationHost, 0xd0288c55, 0xd6, 0x4f5e, 0xa8, 0x51, 0x79, 0xde, 0xc5, 0x1b, 0x10, 0xec);
enum PresentationHostCommands { 
   PHCMDID_TABINTO = 1 
};

PHCMDID_TABINTO は、Shift キーの状態に基づいてコンテンツ内の最初または最後のフォーカス可能な要素にフォーカスを切り替えるように、PresentationHost に指示します。

このセクションの内容