Xamarin.Forms XAML-Grundlagen

Die eXtensible Application Markup Language (XAML) ist eine XML-basierte Sprache, die von Microsoft als Alternative zum Programmieren von Code zum Instanziieren und Initialisieren von Objekten und zum Organisieren dieser Objekte in übergeordneten untergeordneten Hierarchien erstellt wird. XAML wurde an mehrere Technologien innerhalb des .NET Frameworks angepasst, hat jedoch das größte Dienstprogramm bei der Definition des Layouts von Benutzeroberflächen innerhalb der Windows Presentation Foundation (WPF), Silverlight, der Windows-Runtime und der Universelle Windows-Plattform (UWP) gefunden.

MIT XAML können Entwickler Benutzeroberflächen in Xamarin.Forms Anwendungen mithilfe von Markup und nicht mithilfe von Code definieren. XAML ist in einem Xamarin.Forms Programm nie erforderlich, ist aber oft prägnanter und visuell kohärenter als gleichwertiger Code und potenziell toolierbar. XAML eignet sich gut für die Verwendung mit der beliebten MVVM-Anwendungsarchitektur (Model-View-ViewModel): XAML definiert die Ansicht, die über XAML-basierte Datenbindungen mit ViewModel-Code verknüpft ist.

Innerhalb einer XAML-Datei kann der Xamarin.Forms Entwickler Benutzeroberflächen mithilfe aller Xamarin.Forms Ansichten, Layouts und Seiten sowie benutzerdefinierter Klassen definieren. Die XAML-Datei kann entweder kompiliert oder in die ausführbare Datei eingebettet werden. Auf beide Weise werden die XAML-Informationen zur Erstellungszeit analysiert, um benannte Objekte zu finden, und zur Laufzeit, um Objekte zu instanziieren und zu initialisieren und Verknüpfungen zwischen diesen Objekten und Programmiercode herzustellen.

XAML hat gegenüber gleichwertigem Code mehrere Vorteile:

  • XAML ist oft prägnanter und lesbarer als entsprechender Code.
  • Die XML-eigene Eltern-Kind-Hierarchie ermöglicht es XAML, die Eltern-Kind-Hierarchie von Benutzeroberflächenobjekten mit größerer visueller Klarheit abzubilden.
  • XAML kann von Programmierern einfach geschrieben werden, bietet sich aber auch als toolierbar und von visuellen Designtools generiert.

Es gibt auch Nachteile, die meist mit den Einschränkungen zusammenhängen, die den Markup-Sprachen eigen sind:

  • XAML kann keinen Code enthalten. Alle Ereignishandler müssen in einer Codedatei definiert werden.
  • XAML kann keine Schleifen zur wiederholten Verarbeitung enthalten. (Mehrere visuelle Objekte , insbesondere ListView , können jedoch Xamarin.Forms mehrere untergeordnete Objekte basierend auf den Objekten in ihrer ItemsSource Auflistung generieren.)
  • XAML kann keine bedingte Verarbeitung enthalten (Eine Datenbindung kann jedoch auf einen codebasierten Bindungskonverter verweisen, der eine bedingte Verarbeitung effektiv zulässt.)
  • XAML kann klassen, die keinen parameterlosen Konstruktor definieren, im Allgemeinen nicht instanziieren. (Es gibt jedoch manchmal eine Möglichkeit, diese Einschränkung zu umgehen.)
  • XAML kann in der Regel keine Methoden aufrufen. (Auch hier kann diese Einschränkung manchmal überwunden werden.)

Es gibt noch keinen visuellen Designer zum Generieren von XAML in Xamarin.Forms Anwendungen. Der gesamte XAML-Code muss handgeschrieben werden, Sie können jedoch XAML Hot Reload in Visual Studio 2019 oder Visual Studio für Mac verwenden, um Ihre Bildschirmdesigns während der Bearbeitung anzuzeigen. Auch Entwickler mit viel Erfahrung in XAML wissen, dass das Experimentieren lohnend ist.

XAML ist im Grunde XML, aber XAML hat einige einzigartige Syntaxmerkmale. Dies sind die wichtigsten:

  • Eigenschaftselemente
  • Angefügte Eigenschaften
  • Markuperweiterungen

Diese Features sind keine XML-Erweiterungen. XAML ist völlig legales XML. Diese XAML-Syntaxfeatures verwenden XML jedoch auf einzigartige Weise. Sie werden in den folgenden Artikeln ausführlich erläutert, die mit einer Einführung in die Verwendung von XAML für die Implementierung von MVVM schließen.

Anforderungen

In diesem Artikel wird davon ausgegangen, dass Xamarin.Formssie mit der Arbeit vertraut sind. In diesem Artikel wird außerdem davon ausgegangen, dass XML vertraut ist, einschließlich der Verwendung von XML-Namespacedeklarationen und dem Begriffselement, Tag und Attribut.

Wenn Sie mit XML vertraut sind, beginnen Sie mit Xamarin.Forms dem Lesen von Teil 1. Erste Schritte mit XAML.

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.