DeviceSpecific コントロールの概要
コンテナ コントロールでは、Visual Studio はマークアップ言語の要素 <DeviceSpecific> を特別なコントロールとして表します。デザイナの DeviceSpecific コントロールを使用すると、特定の種類のハードウェア デバイスを対象に、Form コントロールおよび Panel コントロールの外観を簡単かつ直観的な方法で指定できます。
DeviceSpecific コントロールを Form コントロールまたは Panel コントロール内に配置すると、デザイナではコントロールの最上行にコントロール ID が表示されます。さらに、DeviceSpecific コントロールは現在のテンプレート デバイス フィルタの情報を表示します。ただし、既定では、このフィルタは値が設定されません。
DeviceSpecific コントロールをコンテナ コントロールに追加したら、ショートカット メニューの [テンプレート オプション] を選択し、デバイス フィルタを定義してコンテナに適用します。他の種類のコントロールと同様に、コンテナ コントロールはデバイス フィルタを使用して、現在の ASP.NET モバイル Web フォーム ページを表示しているハードウェアの種類を検出します。デバイス フィルタをコンテナに適用すると、開発者はコンテナのテンプレートを作成することができます。また、コンテナのプロパティのオーバーライドを設定することも可能です。
DeviceSpecific コントロールのデバイス フィルタを選択すると、デザイナの画面上に描画されたコントロールの Template Device Filter プロパティに現在のフィルタ名が表示されます。デザイナは、コンテナを描画するときに現在のフィルタに関連付けられたテンプレートを使用しません。ただし、デバイス フィルタによって評価されているプロパティに一致するモバイル デバイスやモバイル デバイスのエミュレータにコンテナが表示されるときは、ASP.NET はテンプレートおよびプロパティのオーバーライド値に従ってコンテナを描画します。
デザイン ビューでは、現在のデバイス フィルタのテンプレートおよびプロパティのオーバーライド値のみを編集できます。ただし、設計作業中はいつでも現在のフィルタを変更することができます。現在のフィルタとは別のデバイス フィルタを使用するには、ショートカット メニューの [テンプレート オプション] を選択するか、[プロパティ] ウィンドウの [TemplateDeviceFilter] 項目を使用します。
Form コントロールまたは Panel コントロールには、DeviceSpecific コントロールを 1 つしか適用できません。追加の DeviceSpecific コントロールを、Form コントロールまたは Panel コントロールにドラッグできます。ただし、最初の DeviceSpecific コントロールだけがコンテナ コントロールに作用します。追加の DeviceSpecific コントロールには、いずれも削除を求める通知するエラー メッセージが表示されます。