XAML-Markuperweiterungen

XAML-Markuperweiterungen helfen dabei, die Leistungsfähigkeit und Flexibilität von XAML zu erweitern, indem Elementattribute aus anderen Quellen als Literaltextzeichenfolgen festgelegt werden können.

Normalerweise legen Sie die Color Eigenschaft BoxView wie folgt fest:

<BoxView Color="Blue" />

Sie können ihn auch auf einen RGB-Hexadezimalfarbwert festlegen:

<BoxView Color="#FF0080" />

In beiden Fällen wird die auf das Color Attribut festgelegte Textzeichenfolge von der ColorTypeConverter Klasse in einen Color Wert konvertiert.

Möglicherweise möchten Sie stattdessen das Color Attribut aus einem in einem Ressourcenwörterbuch gespeicherten Wert oder aus dem Wert einer statischen Eigenschaft einer von Ihnen erstellten Klasse oder aus einer Eigenschaft vom Typ Color eines anderen Elements auf der Seite festlegen oder aus separaten Farbton-, Sättigungs- und Leuchtdichtewerten erstellt werden.

Alle diese Optionen sind mit XAML-Markuperweiterungen möglich. Lassen Sie den Ausdruck "Markuperweiterungen" jedoch nicht verängstigen: XAML-Markuperweiterungen sind keine Erweiterungen für XML. Auch bei XAML-Markuperweiterungen ist XAML immer legalES XML.

Eine Markuperweiterung ist wirklich nur eine andere Möglichkeit, ein Attribut eines Elements auszudrücken. XAML-Markuperweiterungen sind in der Regel durch eine Attributeinstellung identifizierbar, die in geschweifte Klammern eingeschlossen ist:

<BoxView Color="{StaticResource themeColor}" />

Jede Attributeinstellung in geschweiften Klammern ist immer eine XAML-Markuperweiterung. Wie Sie sehen, können XAML-Markuperweiterungen jedoch auch ohne die Verwendung von geschweiften geschweiften Klammern referenziert werden.

Dieser Artikel ist in zwei Teile unterteilt:

Verwenden von XAML-Markuperweiterungen

Verwenden Sie die xaml-Markuperweiterungen, die in Xamarin.Forms.

Erstellen von XAML-Markuperweiterungen

Schreiben Sie eigene benutzerdefinierte XAML-Markuperweiterungen.