XAML マークアップ拡張
XAML マークアップ拡張では、要素属性をリテラル テキスト文字列ではなく、ソースから設定できるようにすることで、XAML の能力と柔軟性を高めるのに役立ちます。
たとえば、通常、BoxView
の Color
プロパティを次のように設定します:
<BoxView Color="Blue" />
または、16 進数の RGB カラー値に設定できます:
<BoxView Color="#FF0080" />
いずれの場合も、Color
属性に設定されたテキスト文字列は、ColorTypeConverter
クラスによって Color
値に変換されます。
代わりに、 Color
リソースディクショナリに格納されている値、または作成したクラスの静的プロパティの値、またはページ上の別の要素の型のプロパティから、また Color
は別の色相、鮮やかさ、明度の値から構築された属性を設定することをお勧めします。
XAML マークアップ拡張を使用すれば、これらのオプションはすべて選択できます。 ただし、"マークアップ拡張" という表現で誤解しないでください。XAML マークアップ拡張は XML の拡張機能ではありません。 XAML マークアップ拡張を使用する場合でも、XAML は常に有効な XML です。
マークアップ拡張は、実際には要素の属性を表す別の方法にすぎません。 通常、XAML マークアップ拡張は、中かっこで囲まれた属性設定で識別できます:
<BoxView Color="{StaticResource themeColor}" />
中かっこの属性設定は、常に XAML マークアップ拡張。 ただし、このように、中かっこを使用せずに XAML マークアップ拡張を参照することもできます。
この記事は、次の2つの部分で構成されています:
XAML マークアップ拡張の使用
Xamarin.Forms で定義されている XAML マークアップ拡張を使用します。
XAML マークアップ拡張の作成
独自のカスタム XAML マークアップ拡張を記述します。