XAML-Markuperweiterungen

Download Sample Das Beispiel herunterladen

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.