XAML-Markuperweiterungen
XAML-Markuperweiterungen helfen, 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 es auch auf einen hexadezimalen RGB-Farbwert 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.
Sie können stattdessen lieber das Attribut aus einem Wert festlegen, der Color
in einem Ressourcenwörterbuch gespeichert ist, oder aus dem Wert einer statischen Eigenschaft einer Klasse, die Sie erstellt haben, oder aus einer Eigenschaft vom Typ Color
eines anderen Elements auf der Seite oder aus separaten Farbton-, Sättigungs- und Leuchtkraftwerten erstellt.
Alle diese Optionen sind mit XAML-Markuperweiterungen möglich. Lassen Sie sich jedoch nicht vom Ausdruck "Markuperweiterungen" abschrecken: XAML-Markuperweiterungen sind keine Erweiterungen für XML. Auch bei XAML-Markuperweiterungen ist XAML immer legales XML.
Eine Markuperweiterung ist nur eine andere Möglichkeit, ein Attribut eines Elements auszudrücken. XAML-Markuperweiterungen werden normalerweise durch eine Attributeinstellung identifiziert, die in geschweifte Klammern eingeschlossen ist:
<BoxView Color="{StaticResource themeColor}" />
Jede Attributeinstellung in geschweiften Klammern ist immer eine XAML-Markuperweiterung. Wie Sie jedoch sehen werden, können XAML-Markuperweiterungen auch ohne die Verwendung von geschweiften Klammern referenziert werden.
Dieser Artikel ist in zwei Teile unterteilt:
Verwenden von XAML-Markuperweiterungen
Verwenden Sie die in Xamarin.Formsdefinierten XAML-Markuperweiterungen.
Erstellen von XAML-Markuperweiterungen
Schreiben Sie Ihre eigenen benutzerdefinierten XAML-Markuperweiterungen.