Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: eXtensible Application Markup Language (XAML)
Begriff
eXtensible Application Markup Language
Abkürzung
XAML
Eintrag zuletzt aktualisiert am
16.05.2021
Zur Stichwortliste unseres Lexikons
Was ist
eXtensible Application Markup Language
?
eXtensible Application Markup Language (XAML) ist der Name einer
XML
-basierten Sprache zur Darstellung von .NET-
Objekt
bäumen in
XML
-Form. XAML wird primär zur Beschreibung grafischer Benutzeroberflächen verwendet, aber für das Drucken (
XPS
) sowie auch in der
Windows Workflow Foundation
(WF) verwendet Microsoft XAML, um Workflows darzustellen.
Abkürzung: XAML
gesprochen "zammel"
Aktuelle XAML-Dialekte für Benutzeroberflächen
1. XAML in
Windows Presentation Foundation
(
WPF
)
2. XAML in
Xamarin Forms
(seit 2014) und deren Nachfolger
.NET Multi-Platform App UI
(.NET MAUI)
3. XAML in
Universal Windows Platform App
s (
UWP
) alias
UWP
XAML Framework oder
WinRT
XAML Framework sowie der damit zusammenhängenden Windows UI Library 2 (WinUI2)
4. XAML in der
Windows UI Library 3
(
WinUI3
)
Frühere XAML-Dialekte für Benutzeroberflächen
1. XAML in Silverlight
2. XAML in
Windows 8
"
Metro
" Apps
XAML Standard
Spezifikation zur Standardisierung der XAML-Dialekte, die Mitte 2017 begann.
Ähnlichkeiten zu früheren Techniken
Ein XAML-Dokument ist die serialisierte Form eines .NET-
Objekt
modells. Dieses Konzept hat Microsoft schon bereits früher in .NET angewendet, z.B. bei
ASP.NET
-
Serversteuerelement
en,
Microsoft Build
und dem Konfigurationsmodell des
.NET Framework
, erst seit
.NET 3.0
heißt dieses Konzept aber XAML und XAML bietet auch noch einige Konzepte, die es vorher nicht gab.
XAML ist syntaktisch jedoch eine Weiterentwicklung des in
ASP.NET
verwendeten Formats.
Managed Code
XAML versus
Native Code
XAML
Im Rahmen von
WinRT
hat Microsoft XAML in native Code neu implementiert. Anders als in dem .NET-basierten XAML in
WPF
und Silverlight wird das
WinRT
-XAML also direkt in Maschinencode umgesetzt und ist damit voraussichtlich schneller.
XML
-Namensräume
Allgemeiner
XML
-Namensraum für XAML:
schemas.microsoft.com/winfx/2006/xaml
und
schemas.microsoft.com/winfx/2009/xaml
XAML in
WPF
, Silverlight,
UWP
und
WinUI3
:
schemas.microsoft.com/winfx/2006/xaml/presentation
XAML in
Xamarin.Forms
:
xamarin.com/schemas/2014/forms
XAML in .NET MAUI:
schemas.microsoft.com/dotnet/2021/maui
XAML in Windows Workflow:
schemas.microsoft.com/netfx/2009/xaml/activities
.NET-Namensräume
XAML in
WPF
und Silverlight: System.Windows.UI
XAML in
UWP
: Windows.UI
XAML in
WinUI3
: Microsoft.UI
XAML in
Xamarin.Forms
:
Xamarin.Forms
XAML in MAUI: Microsoft.Maui
Beispiel
XAML-Code:
<
Button
Name="C_
Button
"
Click="HW
Button
_Click"
Dock
Panel
.Dock="Fill"
Width="100"
Margin="10,10,10,10">
Hallo Welt!
</
Button
>
entspricht folgendem Code:
Button
b = new
Button
();
b.With=100;
b.Content = “Hello World!";
b.OnClick += new ClickEvent
Handle
r(HW
Button
_Click);
XAML-Konzepte
XAML besteht aus folgenden Grundkonzepten:
XAML Object Element Syntax
: Beim Parsen eines XAML-Dokuments wird für jedes
XML
-Element ein gleichnamiges .NET-
Objekt
instanziiert. Jedes XAML-Dokument besitzt (wie jedes
XML
-Dokument) genau ein Wurzelelement, sodass ein XAML-Dokument auf genau ein .NET-
Objekt
mit Unterobjekten abgebildet wird.
XAML Attribute Syntax
: Die Attribute des .NET-
Objekt
s werden durch die Attribute des
XML
-Element die Attribute des .NET-
Objekt
s befüllt.
XAML Content Syntax
: Der Inhalt eines
XML
-Elements kann einem bestimmten, in der Klas-sendefinition festgelegten Standardattribut zugewiesen werden.
XAML Property Element Syntax
: Ein .NET-Attribut kann auch durch ein
XML
-Element be-schrieben werden, in dem der Klassenname von dem Attributnamen durch einen Punkt getrennt ist. Da ein
XML
-Attribut immer nur einen Wert enthalten kann, eröffnet die
XAML Property Element Syntax
die Möglichkeit, ein .NET-Attribut deklarativ mit Unterobjekten zu befüllen.
XAML Attached Property Syntax
: Ein Unterelement kann Attribute eines übergeordneten Ele-ments setzen.
XAML Markup Extension Syntax
: Anstelle eines
Literal
s kann man als Attributwert einen Aus-druck angeben, der dynamisch ausgewertet wird. Dies wird zum Beispiel für
Datenbindung
einge-setzt, um den Inhalt von zwei Steuerelementen oder zwischen einem Steuerelement und einer Da-tenquelle synchron zu halten, ohne dafür Programmcode einzusetzen. Ein anderes Anwendungsge-biet ist der Verweis auf Ressourcen. Bei der
XAML Markup Extension Syntax
steht der Ausdruck in geschweiften Klammern.
XAML-Namensräume
In einem XAML-Dokument können
XML
-Elemente erscheinen, die aus unterschiedlichen Bibliothe-ken stammen.
XAML-Basiselemente
schemas.microsoft.com/winfx/2006/xaml
XAML für
WPF
schemas.microsoft.com/winfx/2006/xaml/presentation
XAML für WF
schemas.microsoft.com/winfx/2006/xaml/workflow
Die Namensräume werden wie in
XML
üblich eingebunden:
<Window x:Class="
WWW
ings
WPF
.F
XAMLSyntax"
xmlns="
schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="
schemas.microsoft.com/winfx/2006/xaml"
… >
Es ist kein Schreibfehler, dass in den Namensraum-
URL
s noch der Begriff "WinFX" erscheint. Microsoft hat die Namensänderung von WinFX zu
.NET 3.0
hier nicht mehr vollzogen.
XAML in
WPF
Die
Windows Presentation Foundation
(
WPF
) ist ein Framework zur Entwicklung grafischer Benutzerschnittstellen für Desktop-Anwendungen und damit ein Ersatz für die mit .NET 1.x eingeführte
Windows Forms
-Bibliothek. Im Gegensatz zu
Windows Forms
kann bei
WPF
die Beschreibung der Oberfläche durch
XML
-Elemente erfolgen. Microsoft hat dafür eine
XML
-Sprache mit Namen Extensible Application Markup Language (XAML) entwickelt.
XAML ist eine
XML
-basierte Sprache, mit der einzelne .NET-
Objekt
e und ganze
Objekt
bäume in
XML
-Form ausdrückbar sind. Innerhalb von
WPF
wird dies zur Beschreibung von Oberflächenelementen wie <TextBlock>, <
TextBox
>, <
Button
>, <
ListBox
>, <ToolTip>, <Line>, <Polygon>, <MediaElement> u.v.m. verwendet. Elemente sind Teile von
Container
n, die die Anordnung bestimmen, z.B. <Canvas>, <Grid>, <Dock
Panel
> und <Frame>. Zu jedem XAML-Element existiert eine gleichnamige .NET-Klasse in der
.NET 3.0
-Klassenbibliothek im Namensraum System.Windows in .NET-Assemblies PresentationCore.dll und PresentationFramework.dll. Dabei darf man diesen neuen Namensraum nicht mit dem bereits im Jahre 2002 eingeführten Namensraum
System.Windows.Forms
aus der .NET-Klassenbibliothek für
Windows Forms
verwechseln. Es wäre sicherlich geschickter, die
WPF
-Klassen besser von den
Windows Forms
-Klassen zu trennen.
Die Abbildbarkeit der XAML-Elemente in Klassen ermöglicht sowohl die Kompilierung von XAML-Anwendungen als auch die komplette Erstellung von
WPF
-Anwendungen durch Programmcode. Die Abbildbarkeit der XAML-Elemente in Klassen ermöglicht sowohl die Kompilierung von XAML-Anwendungen als auch die komplette Erstellung von
WPF
-Anwendungen durch Programmcode. Der Einsatz von
XML
bietet den Vorteil einer klaren Trennung zwischen Code und Layout.
Microsoft hat diese Steuerelementarchitektur aus
ASP.NET
-Webanwendungen übernommen. Tagbasierte Windows-Anwendungen waren bisher nur durch so genannte
HTA
(
HTML
Applications) möglich, die jedoch kaum Verwendung fanden. Die Steuerelementnamen von
HTML
/
ASP.NET
und XAML sind aber so verschieden, dass weiterhin ein Austausch von grafischen Oberflächen zwischen Windows und Web nicht einfach fällt. Ebenso fehlt in
WPF
die Option, eine XAML-Anwendung per Doppelklick auf eine .xaml-Datei automatisch zu kompilieren.
In XAML können auch selbstdefinierte .NET-
Objekt
e eingebunden werden (z.B. zur Anzeige bestimmte Daten), die dann aber die explizite Einbindung des Namensraums erfordern (vgl. dazu das Bei-spAbschnitt "XAML-
Serialisierung
").
Querverweise zu anderen Begriffen im Lexikon
Windows Presentation Foundation (WPF)
Universal Windows Platform App (UWP App)
XAML Attached Property Syntax
XAML Property Element Syntax
XAML Markup Extension Syntax
Windows Workflow Foundation (WF)
XAML Object Element Syntax
.NET Multi-Platform App UI (MAUI)
XAML Attribute Syntax
System.Windows.Forms
Windows UI Library 3 (WinUI3)
XAML Content Syntax
Serversteuerelement
Microsoft Build (MSBuild)
.NET Framework
Serialisierung
Windows Forms (WinForms)
Xamarin Forms (XF)
XAML Standard
Xamarin.Forms
Datenbindung
Managed Code
Native Code
Container
Windows 8
.NET 3.0
Literal
ListBox
TextBox
Objekt
Button
Handle
Metro
Panel
Active Server Pages .NET (ASP.NET)
Windows UI Library 3 (WinUI3)
Windows Runtime (WinRT)
Hypertext Markup Language (HTML)
Universal Windows Platform (UWP)
Uniform Resource Locator (URL)
Extensible Markup Language (XML)
XML Paper Specification (XPS)
Windows Presentation Foundation (WPF)
World Wide Web (WWW)
HTML-Applikation (HTA)
Beratung & Support
Design und Usability ("User Experience - UX") von XAML-Anwendungen (WPF, WinUI, MAUI, Avalonia, Uno)
Anfrage für Beratung/Consulting zu EXTENSIBLE APPLICATION MARKUP LANGUAGE XAML
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema EXTENSIBLE APPLICATION MARKUP LANGUAGE XAML
Schulungen
Uno Platform - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
Avalonia - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
Extensible Application Markup Language (XAML)
Microsoft Expression Blend - Benutzerschnittstellendesign für XAML-basierte Oberflächen (WPF, UWP, WinUI)
Model-View-ViewModel (MVVM)-Pattern mit XAML für WPF und/oder Windows UI Library (WinUI)
Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und C++/CX sowie der WRL
Windows Presentation Foundation (WPF) / XAML für Grafiker/Designer/UX-Engineers
.NET Akademie: Windows UI Library 3 (WinUI 3): Moderne Windows-Desktop-Anwendungen (2-Tages-Agenda des öffentlichen Seminars)
Visual Studio 2022 (Visual Studio 17.x) Update - Die Neuerungen gegenüber Visual Studio 2019
Windows UI Library 3 (WinUI 3)
.NET 4.5-Update - Die Neuerungen in .NET Framework 4.5/4.5.1/4.5.2 und Visual Studio 2012/2013 im Überblick
.NET 4.8 - Die Neuerungen in .NET Framework 4.8 im Überblick
.NET Akademie: .NET MAUI: .NET-/C#-Cross-Plattform-Entwicklung für Android, iOS (iPhone, iPad) und Windows (3-Tages-Agenda des öffentlichen Seminars)
.NET Akademie: Windows-Desktop-Anwendungen mit der Windows Presentation Foundation (WPF) (3-Tages-Agenda des öffentlichen Seminars)
.NET Multi-Platform App UI (MAUI)
.NET-Basisklassenbibliothek (.NET Base Class Library)
Microsoft Expression Studio
Objektorientierte Entwurfsmuster (Design Pattern/Architektur-Pattern) mit .NET (C#, Visual Basic .NET)
Prism - Composite UI Framework für WPF
ReSharper für Visual Studio
SketchFlow-Prototyping mit Blend
Team Foundation Server 2018 (TFS 2018) - Die Neuigkeiten für Umsteiger von TFS 2017
Visual Studio 2012 (Visual Studio 11.0) Update - Die Neuerungen gegenüber Visual Studio 2010
Visual Studio 2013 (Visual Studio 12.0) Update - Die Neuerungen gegenüber Version 2012
Visual Studio 2015 (Visual Studio 14.x) Update - Die Neuerungen gegenüber Visual Studio 2013
Visual Studio 2017 (Visual Studio 15.x) Update - Die Neuerungen gegenüber Visual Studio 2015
Windows Communication Foundation (WCF) - Aufbauwissen
Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), HTML/CSS und JavaScript sowie WinJS
Windows Presentation Foundation (WPF) - Aufbauwissen
Windows Presentation Foundation (WPF) - Basiswissen
Windows Presentation Foundation (WPF) für typische Geschäftsanwendungen
Windows UI Library 3 (WinUI 3) für Umsteiger von WPF
Windows-Desktop-Anwendungen: Von den .NET- und C#-Grundlagen zu Windows Forms und Windows Presentation Foundation (WPF)
Anfrage für eine individuelle Schulung zum Thema EXTENSIBLE APPLICATION MARKUP LANGUAGE XAML
Gesamter Schulungsthemenkatalog
Fachbücher
Windows Store Apps entwickeln mit C# und XAML - Crashkurs
WPF 4.5 und XAML
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr