.NET TIPS

[Silverlight 2]アプリケーションのホスト情報を取得するには?[C#、VB]

デジタルアドバンテージ 岸本 真二郎
2009/02/12

 通常、Silverlight 2アプリケーションでは、アプリケーションが起動されると、まずApplicationクラス(の派生クラス)のインスタンスが生成され、ここからアプリケーションのメイン部分となるUserControlクラス(の派生クラス)のインスタンスを作成する。

 このため、アプリケーションのユーザー・インターフェイス処理やビジネス・ロジックなどはUserControlクラス側で記述するが、Silverlight 2アプリケーションの起動元となったブラウザに関する情報(「ホスト情報」と呼ばれる)にアクセスしたい場合には、まずApplication.Currentプロパティにより、そのApplicationオブジェクトを取得する。Application.Currentプロパティは静的プロパティである。

 そして、ApplicationオブジェクトのHostプロパティにより、ホスト情報を取得できる。このプロパティは、SilverlightHostクラス(System.Windows.Interop名前空間)のオブジェクトを返す。

 例えば次のコードでは、Silverlight 2アプリケーションの実体である.xapファイルのURIをホスト情報より取得している。

Application app = Application.Current;
System.Windows.Interop.SilverlightHost host = app.Host;

string uri = host.Source.AbsoluteUri;

bool isSupported = host.IsVersionSupported("2.0.30908.0");
Dim app As Application = Application.Current
Dim host As System.Windows.Interop.SilverlightHost = app.Host

Dim uri As String = host.Source.AbsoluteUri

Dim isSupported As Bool = host.IsVersionSupported("2.0.30908.0")
アプリケーションのホスト情報を取得(上:C#、下:VB)

 また、このコードの最後の行で記述しているように、ブラウザにインストールされているSilverlight 2用のプラグインが特定のバージョンをサポートするかどうかをチェックするには、IsVersionSupportedメソッドが利用できる。End of Article

カテゴリ:Silverlight 2 処理対象:ブラウザ
使用ライブラリ:SilverlightHostクラス(Silverlight 2/System.Windows.Interop名前空間)

この記事と関連性の高い別の.NET TIPS
[Silverlight 2]JavaScriptコードからSilverlightのオブジェクトを利用するには?
[Silverlight 2]アプリケーションが配置されているURLを取得するには?
[Silverlight 2]Silverlightコントロールの実際のサイズを取得するには?
[ASP.NET]アプリケーション全体で共有するデータを扱うには?(Applicationオブジェクト編)
[Silverlight 2]Silverlightアプリケーションをフルスクリーンで表示するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH