XAML 标记扩展
XAML 标记扩展通过支持从文本字符串以外的源设置元素属性,扩展 XAML 的功能和灵活性。
例如,通常如下设置 BoxView
的 Color
属性:
<BoxView Color="Blue" />
或者,你可以设置为十六进制 RGB 颜色值:
<BoxView Color="#FF0080" />
在任一情况下,设置为 Color
属性的文本字符串都由 ColorTypeConverter
类转换为 Color
值。
建议改为从资源字典中存储的值设置 Color
属性,从已创建的类的静态属性的值设置,或者从页面上另一个元素类型 Color
的属性设置,或者从单独的色调、饱和度和亮度值构造属性。
所有这些选项都可以使用 XAML 标记扩展来实现。 但不要让短语“标记扩展”吓倒你:XAML 标记扩展不是 XML 的扩展。 即使使用 XAML 标记扩展,XAML 也始终是合法的 XML。
标记扩展实际上只是表示元素属性的另一种方法。 XAML 标记扩展通常通过括在大括号中的属性设置来识别:
<BoxView Color="{StaticResource themeColor}" />
大括号中的任何属性设置始终是 XAML 标记扩展。 但是,如你所见,也可以在不使用大括号的情况下引用 XAML 标记扩展。
本文分为两个部分:
使用 XAML 标记扩展
使用 Xamarin.Forms 中定义的 XAML 标记扩展。
创建 XAML 标记扩展
写下自己的自定义 XAML 标记扩展。