XAML マークアップ拡張

Download Sampleサンプルのダウンロード

XAML マークアップ拡張では、要素属性をリテラル テキスト文字列ではなく、ソースから設定できるようにすることで、XAML の能力と柔軟性を高めるのに役立ちます。

たとえば、通常、BoxViewColor プロパティを次のように設定します:

<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 マークアップ拡張を記述します。