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 マークアップ拡張の使用

で定義されている XAML マークアップ拡張機能を Xamarin.Forms使用します。

XAML マークアップ拡張の作成

独自のカスタム XAML マークアップ拡張機能を記述します。