次の方法で共有


XBAP ホスティング Silverlight サンプル

更新 : 2008 年 7 月

このサンプルでは、次の概念を示します。

  • XAML ブラウザ アプリケーション (XBAP) 内で Silverlight に基づくアプリケーションをホストする方法。

  • ホスト XBAP とホストされている Silverlight に基づくアプリケーション間で通信する方法。

Download sample

XBAP での Silverlight に基づくアプリケーションのホスト

Silverlight に基づくアプリケーションは、WebBrowser コントロールを使用して XBAP にホストできます。XBAP Page のコンテンツには、Silverlight に基づくアプリケーションをホストする HTML ページをソース URI で識別する WebBrowser が含まれます。HTML ページは、Silverlight プラグイン コントロールを使用して、Silverlight に基づくアプリケーションをホストします。

XBAP で Silverlight に基づくアプリケーションをホストするための高レベルなアーキテクチャを、次の図に示します。

Silverlight アプリケーションをホストする WPF アプリケーション

XBAP から Silverlight に基づくアプリケーションへの通信

ホスト XBAP は、Silverlight に基づくアプリケーションをホストする HTML ページによって実装されているスクリプト メソッドを経由して、ホストされた Silverlight に基づくアプリケーションと通信できます。XBAP は、InvokeScript メソッドを使用してスクリプト メソッドを呼び出します。スクリプト メソッドは、スクリプト可能オブジェクトによって実装されているメソッドを呼び出します。このスクリプト可能オブジェクトは、Silverlight に基づくアプリケーションから公開され、Silverlight プラグイン コントロールの Content プロパティからスクリプトで使用できます。

次の図は、XBAP で Silverlight に基づくアプリケーションをホストするための高レベル アーキテクチャと、ホスト XBAP からホストされている Silverlight に基づくアプリケーションにメソッドを伝播するために使用される重要なテクノロジを示しています。

WPF、Silverlight との相互運用

WebBrowser コントロールを使用してスクリプト メソッドを呼び出すには、「WebBrowser コントロールのサンプル」を参照してください。スクリプト可能オブジェクトを公開する Silverlight に基づくアプリケーションの実装の詳細については、「Walkthrough: Calling Managed Code from JavaScript」を参照してください。Silverlight に基づくアプリケーションの開発の概要については、「Getting Started with Silverlight」を参照してください。

Silverlight に基づくアプリケーションから XBAP への通信

ホストされている Silverlight に基づくアプリケーションは、Silverlight に基づくアプリケーションをホストする HTML ページによって実装されているスクリプト メソッドを経由してホスト XBAP と通信できます。Silverlight に基づくアプリケーションは、(Silverlight System.Windows.Browser 名前空間から) HtmlWindow クラスの Invoke メソッドを使用してスクリプト メソッドを呼び出します。Silverlight に基づくアプリケーションは、HtmlPage クラスの Window プロパティ (System.Windows.Browser 名前空間にもあります) から (HtmlWindow クラスで表現されている) ウィンドウへの参照を取得します。スクリプト メソッドは、スクリプト可能オブジェクトによって実装されているメソッドを呼び出します。このスクリプト可能オブジェクトは、ObjectForScripting プロパティを使用して XBAP から公開され、ホスト ブラウザによって公開されている window オブジェクトの external プロパティからスクリプトで使用できます。

次の図は、XBAP で Silverlight に基づくアプリケーションをホストするための高レベル アーキテクチャと、ホストされている Silverlight に基づくアプリケーションからホスト XBAP にメソッドを伝播するために使用される重要なテクノロジを示しています。

Silverlight、WPF との相互運用

Silverlight に基づくアプリケーションからスクリプト メソッドを呼び出すには、「チュートリアル : マネージ コードからの JavaScript の呼び出し」を参照してください。XBAP からのスクリプト可能オブジェクトの公開の詳細については、「WebBrowser コントロールのサンプル」および「ObjectForScripting」を参照してください。

サンプルの構成

サンプルは、2 つのプロジェクトがある 1 つのソリューション (XBAPHostingSilverlightSample) で構成されています。

  1. Silverlight に基づくアプリケーションをホストする XBAP プロジェクト (WPFBrowserApplication)。

  2. Silverlight に基づくアプリケーション プロジェクト (SilverlightApplication)。

SilverlightApplication は、WPFBrowserApplication の後にビルドし、生成された Silverlight に基づくアプリケーション silverlightspplication.xap を WPFBrowserApplication プロジェクト出力フォルダ \bin\debug にコピーするビルド後のステップを含みます。

サンプルは、次の手順を使用して、WPFBrowserApplication プロジェクト出力フォルダ (\bin\debug) を指す仮想ディレクトリから localhost で実行するように構成する必要があります。

  1. [スタート] ボタンをクリックし、[管理ツール] をポイントして、[インターネット インフォメーション サービス (IIS) マネージャ] をクリックします。

  2. [Web サイト]、[既定の Web サイト] の順にクリックします。

  3. [既定の Web サイト] を右クリックし、[仮想ディレクトリの追加] を選択し、次の操作を行います。

    1. [エイリアス] を "WPFBrowserApplication" に設定します。

    2. [物理パス] を WPFBrowserApplication プロジェクト出力フォルダに設定します。

  4. [OK] をクリックして、仮想ディレクトリを作成します。

サンプルの実行

サンプルを実行するには、次の URL に移動します。

https://localhost/WPFBrowserApplication/WPFBrowserApplication.xbap

ベスト プラクティス

このサンプルでは、Windows Presentation Foundation の特定の機能を示します。そのため、アプリケーション開発のベスト プラクティスに従っていません。Windows Presentation Foundation (WPF) と Microsoft .NET Framework のアプリケーション開発ベスト プラクティスの包括的な説明については、適宜、次のトピックを参照してください。

ユーザー補助 - 「ユーザー補助のベスト プラクティス

ローカリゼーション - 「WPF のグローバリゼーションおよびローカリゼーションの概要

パフォーマンス - 「WPF アプリケーションのパフォーマンスの最適化

セキュリティ - 「Windows Presentation Foundation のセキュリティ

サンプルのビルド

  • Windows ソフトウェア開発キット (SDK) をインストールして、そのビルド環境のコマンド ウィンドウを開きます。[スタート] メニューの [すべてのプログラム]、[Microsoft Windows SDK] の順にポイントし、[CMD シェル] をクリックします。

  • サンプルをハード ディスク ドライブにダウンロードします。通常は、ソフトウェア開発キット (SDK) のドキュメントからダウンロードします。

  • ビルド環境のコマンド ウィンドウからサンプルをビルドするには、サンプルのソース ディレクトリに移動します。コマンド プロンプトで「MSBUILD」と入力します。

  • Microsoft Visual Studio でサンプルをビルドするには、サンプル ソリューションかプロジェクト ファイルを読み込んで、Ctrl キーと Shift キーを押しながら B キーを押します。

サンプルの実行

  • コンパイルしたサンプルをビルド環境のコマンド ウィンドウから実行するには、サンプルのソース コード フォルダの下にある Bin\Debug または Bin\Release フォルダで .exe ファイルを実行します。

  • コンパイルしたサンプルを Visual Studio でデバッグしながら実行するには、F5 キーを押します。

参照

処理手順

WebBrowser コントロールのサンプル

概念

ナビゲーションの概要

構造化ナビゲーションの概要

参照

WebBrowser

その他の技術情報

Silverlight について

チュートリアル : JavaScript からのマネージ コードの呼び出し

履歴の変更

日付

履歴

理由

2008 年 7 月

サンプルを追加。

SP1 機能変更