Xamarin.Forms XAML-Grundlagen

Beispiel herunterladen 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 und zum Organisieren dieser Objekte in über- und untergeordneten Hierarchien erstellt wurde. XAML wurde an verschiedene Technologien innerhalb des .NET Frameworks angepasst, hat aber sein größtes Hilfsprogramm darin gefunden, 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 Es Entwicklern, Benutzeroberflächen in Xamarin.Forms Anwendungen mithilfe von Markup und nicht mit Code zu definieren. XAML ist in einem Xamarin.Forms Programm nie erforderlich, aber es ist oft prägnanter und visuell kohärenter als äquivalenter Code und möglicherweise 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 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. In beiden Fällen werden die XAML-Informationen zur Buildzeit analysiert, um benannte Objekte zu finden, und wieder zur Laufzeit, um Objekte zu instanziieren und zu initialisieren und um Verknüpfungen zwischen diesen Objekten und Programmiercode herzustellen.

XAML hat gegenüber äquivalentem Code mehrere Vorteile:

  • XAML ist häufig prägnanter und lesbarer als äquivalenter Code.
  • Die in XML inhärente über- und untergeordnete Hierarchie ermöglicht es XAML, die über- und untergeordnete Hierarchie von Benutzeroberflächenobjekten mit größerer visueller Klarheit nachzuahmen.
  • XAML kann von Programmierern leicht von Hand geschrieben werden, eignet sich aber auch als toolierbar und von visuellen Designtools generiert.

Es gibt auch Nachteile, die sich hauptsächlich auf Einschränkungen beziehen, die intrinsisch für Markupsprachen sind:

  • XAML kann keinen Code enthalten. Alle Ereignishandler müssen in einer Codedatei definiert werden.
  • XAML kann keine Schleifen für die sich wiederholende Verarbeitung enthalten. (Mehrere visuelle Objekte , insbesondere ListView , können jedoch Xamarin.Forms 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 zulässt.)
  • XAML kann in der Regel keine Klassen instanziieren, die keinen parameterlosen Konstruktor definieren. (Es gibt jedoch manchmal einen Weg, um diese Einschränkung zu umgehen.)
  • XAML kann in der Regel keine Methoden aufrufen. (Auch diese Einschränkung kann manchmal überwunden werden.)

Es gibt noch keinen visuellen Designer zum Generieren von XAML in Xamarin.Forms Anwendungen. Alle XAML-Code müssen von Hand geschrieben werden, aber Sie können XAML-Hot Reload in Visual Studio 2019 oder Visual Studio für Mac verwenden, um Ihre Bildschirmdesigns beim Bearbeiten anzuzeigen. Selbst Entwickler mit viel Erfahrung mit XAML wissen, dass experimentieren lohnend ist.

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

  • Eigenschaftenelemente
  • Angefügte Eigenschaften
  • Markuperweiterungen

Diese Features sind keine XML-Erweiterungen. XAML ist vollständig 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 abgeschlossen werden.

Anforderungen

In diesem Artikel wird vorausgesetzt, dass sie mit Xamarin.Formsvertraut sind. In diesem Artikel wird auch eine gewisse Vertrautheit mit XML vorausgesetzt, einschließlich des Verständnisses der Verwendung von XML-Namespacedeklarationen sowie des Begriffselements, Tags und Attributs.

Wenn Sie mit und 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.