XAML-Markuperweiterungen

Beispiel herunterladen Das Beispiel herunterladen

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.