更新 : 2007 年 11 月
すべての ASP.NET モバイル コントロールは、フォント、色、配置など、レンダリングのスタイル プロパティをサポートしています。スタイル プロパティは各モバイル デバイスに応じて異なる処理が行われるため、各アダプタには異なるスタイルのレンダリングが実装されています。
また、すべてのモバイル コントロールは、関連付けられたスタイル オブジェクトを持っています。このスタイル オブジェクトには、コントロールに対して直接定義されたスタイル プロパティが含まれています。スタイル オブジェクトは、System.Web.UI.MobileControls.Style から継承したクラスのインスタンスにする必要があります。
スタイル オブジェクトは MobileControl 基本クラスの protected フィールドとして定義されており、ページの開発者はアクセスできません。ただし、Style オブジェクトの各プロパティについては、関連付けられたコントロール クラスはパブリック プロパティも公開します。このパブリック プロパティには、ページの開発者が読み取りまたは書き込みを行うことによってアクセスできます。たとえば、MobileControl 基本クラスは、そのプロパティとして Style 基本クラスのすべてのプロパティを公開します。
さらに、スタイルは継承モデルに従います。レンダリングの実行時に、コントロール アダプタはスタイルの特別なインデクサを使用して、継承された値を含むスタイル情報を取得することができます。
コントロール アダプタのスタイル プロパティへのアクセス
スタイル プロパティをレンダリングで使用するために、コントロール アダプタはコントロールに関連付けられたスタイル オブジェクトにアクセスできます。コントロール アダプタ基本クラスには、コントロールのスタイル オブジェクトへのアクセスに使用できる Style プロパティがあります。ただし、スタイルの継承動作を適用できるように、アダプタは別のアクセサを使用してスタイル プロパティを取得する必要があります。この処理を簡単にするため、Style 基本クラスには追加のインデクサ プロパティが用意されています。このインデクサ プロパティは、プロパティ キーと継承を適用するかどうかを指定するブール型引数の 2 つのパラメータを使用します。
たとえば、以下のコード例では、コントロールの FontNameKey フィールドを使用してフォント名にアクセスし、継承を true に設定します。
String fontName = NewStyle[Style.FontNameKey, true];