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.