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" />
Oder Sie können ihn auf einen Hexadezimal-RGB-Farbwert festlegen:
<BoxView Color="#FF0080" />
In beiden Fällen wird die auf das Color
Attribut festgelegte Textzeichenfolge in einen Color
Wert durch die ColorTypeConverter
Klasse konvertiert.
Sie können stattdessen 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 von 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 den Begriff "Markuperweiterungen" jedoch nicht zu: XAML-Markuperweiterungen sind keine Erweiterungen für XML. Auch bei XAML-Markuperweiterungen ist XAML immer legalER XML-Code.
Eine Markuperweiterung ist wirklich eine andere Methode, um ein Attribut eines Elements auszudrücken. XAML-Markuperweiterungen werden in der Regel durch eine Attributeinstellung identifiziert, die in geschweifte Geschweifte eingeschlossen ist:
<BoxView Color="{StaticResource themeColor}" />
Jede Attributeinstellung in geschweiften Geschweiften ist immer eine XAML-Markuperweiterung. Wie Sie sehen, kann jedoch auch auf XAML-Markuperweiterungen verwiesen werden, ohne dass geschweifte Geschweifte verwendet 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.