Description de XAML

XAML est l'acronyme de eXtensible Application Markup Language, donc langage à balises pour applications extensibles. Sont extensibles les applications avec l'ajout de composant pendant l'exécution et le langage lui-même avec de nouveaux composants.
Dans le nom XAML, la lettre A originellement représentait Avalon, le nom provisoire de la couche graphique de Windows Vista, renommée par la suite WPF (Windows Présentation Foundation).

XAML est un format XML dans lequel peuvent être intégrées des commandes, associées à des propriétés des éléments de la même façon que dans JavaScript:
Exemple: appel de la fonction OnClick() quand on clique sur le bouton.

<button 
    Click="OnClick"> 
</button>

Il est aussi possible d'insérer des portions de code dans une balise propre, la balise "code".

Traitement du code source

Le code est compilé en langage intermédiaire IL (Intermediate Language) de la plateforme .NET.
- Les balises deviennent des objets.
- Les propriétés deviennent des attributs.
Il est alors possible de traiter le code de la même façon que pour les classes du langage utilisé et les attributs.
Les balises prédéfinies composant le langage XAML sont aussi des classes .NET.

Il utilise les composantes de .NET et partage les ressources du CLR (Common Language Runtime) avec les langages procéduraux.

Widgets et graphisme

Les éléments du langage XAML correspondent à des balises de positionnement et a des "widgets", des composants d'interface utilisateur graphiques tel que bouton, champ de texte, menu, liste, bouton radio, etc....
Ces composants de même que le texte utilisent des graphismes vectoriels permettant d'ajuster leur taille sans perte de définition.

Propriétés de style

Les propriétés telles que couleurs, police, dimensions etc... sont des attributs des balises.
Exemple: définir la couleur de fond du bouton.

<button 
    BackGround="Gray"> 
</button>

Plus d'informations

XAML et XUL, comparaison. XAML s'est inspiré de XUL de Mozilla. Leurs différences ainsi qu'avec les principaux autres langages d'interface basés sur XML.

XAML in WPF. Par Microsoft. (Anglais)