Xamarin.Forms XAML-Grundlagen

Download Sample Das Beispiel herunterladen

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 erstellt wird und diese Objekte in übergeordneten untergeordneten Hierarchien organisiert. XAML wurde an mehrere Technologien innerhalb des .NET Frameworks angepasst, aber es hat sein größtes Dienstprogramm gefunden, um das Layout von Benutzeroberflächen innerhalb der Windows Presentation Foundation (WPF), Silverlight, der Windows-Runtime und der Universelle Windows-Plattform (UWP) zu definieren.

XAML ermöglicht Entwicklern das Definieren von Benutzeroberflächen in Xamarin.Forms Anwendungen mithilfe von Markup anstelle von Code. XAML ist nie in einem Xamarin.Forms Programm erforderlich, aber es ist oft prägnant und visuell kohärenter als gleichwertiger Code und potenziell toolierbar. XAML eignet sich gut für die Verwendung mit der beliebten MVVM(Model-View-ViewModel)-Anwendungsarchitektur: 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 mit allen Xamarin.Forms Ansichten, Layouts und Seiten sowie benutzerdefinierten Klassen definieren. Die XAML-Datei kann entweder kompiliert oder in die ausführbare Datei eingebettet werden. Auf diese Weise werden die XAML-Informationen zur Erstellungszeit analysiert, um benannte Objekte zu finden, und erneut zur Laufzeit, um Objekte instanziieren und initialisieren zu können, und um Verknüpfungen zwischen diesen Objekten und Programmiercode herzustellen.

XAML hat mehrere Vorteile gegenüber dem entsprechenden Code:

  • XAML ist häufig prägnant und lesbarer als gleichwertiger Code.
  • Die übergeordnete untergeordnete Hierarchie in XML ermöglicht XAML das Nachahmen mit größerer visueller Klarheit der übergeordneten untergeordneten Hierarchie von Benutzeroberflächenobjekten.
  • XAML kann leicht von Programmierern geschrieben werden, bietet sich aber auch als toolierbar und generiert durch visuelle Designtools an.

Es gibt auch Nachteile, hauptsächlich im Zusammenhang mit Einschränkungen, die in Markupsprachen systemintern sind:

  • XAML kann keinen Code enthalten. Alle Ereignishandler müssen in einer Codedatei definiert werden.
  • XAML kann keine Schleifen für die wiederholte Verarbeitung enthalten. (Mehrere Xamarin.Forms visuelle Objekte – insbesondere ListView – können jedoch mehrere untergeordnete Elemente basierend auf den Objekten in der ItemsSource Auflistung generieren.)
  • XAML kann keine bedingte Verarbeitung enthalten (Eine Datenbindung kann jedoch auf einen codebasierten Bindungskonverter verweisen, der eine bedingte Verarbeitung effektiv ermöglicht.)
  • XAML kann in der Regel keine Klassen instanziieren, die keinen parameterlosen Konstruktor definieren. (Es gibt jedoch manchmal eine Möglichkeit, diese Einschränkung zu umgehen.)
  • XAML kann in der Regel keine Methoden aufrufen. (Diese Einschränkung kann 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. Selbst Entwickler, die in XAML viel Erfahrung haben, wissen, dass die Experimentierung lohnend ist.

XAML ist im Grunde XML, aber XAML verfügt über einige eindeutige Syntaxfeatures. Dies sind die wichtigsten:

  • Eigenschaftselemente
  • Angefügte Eigenschaften
  • Markuperweiterungen

Diese Features sind keine XML-Erweiterungen. XAML ist vollständig legalER XML-Code. Diese XAML-Syntaxfeatures verwenden JEDOCH XML auf eindeutige Weise. Sie werden ausführlich in den nachstehenden Artikeln 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 es sich um eine Arbeitskenntnisse Xamarin.Formshandelt. In diesem Artikel wird auch davon ausgegangen, dass XML vertraut ist, einschließlich der Verwendung von XML-Namespacedeklarationen und dem Begriffselement, Tag und Attribut.

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

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