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