XAML 標記延伸

Download Sample 下載範例

XAML 標記延伸可藉由允許從常值文字字串以外的來源設定元素屬性,來擴充 XAML 的功能和彈性。

例如,您通常會設定 Color 如下的 BoxView 屬性:

<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 標記延伸。