Freigeben über


XAML

Die eXtensible Application Markup Language (XAML) ist eine XML-basierte Sprache, die eine Alternative zu Programmiercode zum Instanziieren und Initialisieren von Objekten und zum Organisieren dieser Objekte in übergeordneten und untergeordneten Hierarchien ist.

MIT XAML können Entwickler Benutzeroberflächen in .NET Multi-Platform App UI (.NET MAUI)-Apps mithilfe von Markup und nicht mit Code definieren. XAML ist in einer .NET MAUI-App nicht erforderlich, aber es ist der empfohlene Ansatz für die Entwicklung Der Benutzeroberfläche, da es oft prägnant, visuell kohärenter ist und Toolunterstützung hat. XAML eignet sich auch gut für die Verwendung mit dem Model-View-ViewModel (MVVM)-Muster, in dem XAML die Ansicht definiert, die mit Viewmodel-Code über XAML-basierte Datenbindungen verknüpft ist.

In einer XAML-Datei können Sie Benutzeroberflächen mit allen .NET MAUI-Ansichten, Layouts und Seiten sowie benutzerdefinierten Klassen definieren. Die XAML-Datei kann entweder kompiliert oder in das App-Paket eingebettet werden. Auf beide Weise wird der XAML-Code zur Erstellungszeit analysiert, um benannte Objekte zu finden, und zur Laufzeit werden die durch den XAML dargestellten Objekte instanziiert und initialisiert.

XAML hat gegenüber gleichwertigem Code mehrere Vorteile:

  • XAML ist häufig prägnant und lesbarer als gleichwertiger Code.
  • Die Übergeordnete-Untergeordnete-Hierarchie in XML ermöglicht es XAML, die Übergeordnete-Untergeordnete-Hierarchie von Benutzeroberflächenobjekten mit größerer optischer Klarheit nachzuahmen.

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

  • XAML darf keinen Code enthalten. Alle Ereignishandler müssen in einer Codedatei definiert werden.
  • XAML kann keine Schleifen für die sich wiederholende Verarbeitung enthalten. Es gibt jedoch Steuerelemente, die Sammlungen von Daten anzeigen, wie z. B. ListView und CollectionView.
  • 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, obwohl diese Einschränkung manchmal überwunden werden kann.
  • XAML kann in der Regel keine Methoden aufrufen, obwohl diese Einschränkung manchmal überwunden werden kann.

Es gibt keinen visuellen Designer zum Erstellen von XAML in .NET MAUI-Apps. Der gesamte XAML-Code muss handgeschrieben werden, Sie können jedoch XAML Hot Reload verwenden, um Ihre Benutzeroberfläche während der Bearbeitung anzuzeigen.

XAML ist im Grunde XML, xaml verfügt jedoch über einige eindeutige Syntaxfeatures. Die wichtigsten sind:

  • Eigenschaftselemente
  • Angefügte Eigenschaften
  • Markup-Erweiterungen

Diese Features sind keine XML-Erweiterungen. XAML ist völlig legalES XML. Diese XAML-Syntaxfeatures verwenden XML jedoch auf einzigartige Weise.