Freigeben über


XAML

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

MIT XAML können Entwickler*innen 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 beiden Wegen 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 visueller 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, z ListView . B. 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 beim Erneutladen verwenden, um die Benutzeroberfläche während der Bearbeitung anzuzeigen.

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

  • Property-Elemente
  • 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.