Types intégrés pour les primitives de langage XAML courantes

XAML 2009 introduit la prise en charge de niveau de langage XAML pour plusieurs types de données qui sont des primitives fréquemment utilisées dans le Common Language Runtime (CLR) et dans d'autres langages de programmation. XAML 2009 ajoute la prise en charge des primitives suivantes : x:Object, x:Boolean, x:Char, x:String, x:Decimal, x:Single, x:Double, x:Int16, x:Int32, x:Int64, x:TimeSpan, x:Uri, x:Byteet x:Array

Techniques précédentes pour les primitives du langage dans le balisage XAML

En XAML, pour les versions précédentes de WPF, vous pouviez faire référence aux primitives du langage CLR en mappant l'assembly et l'espace de noms qui contenaient une classe de définition de primitive CLR pour le .NET Framework. La plupart d'entre elles se trouvent dans l'assembly mscorlib et dans l'espace de noms System . Par exemple, pour utiliser Int32, vous pouviez déclarer le mappage suivant (avec un exemple d'utilisation indiqué ensuite) :

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Application.Resources>
    <sys:Int32 x:Key="intMeaning">42</sys:Int32>
  </Application.Resources>
</Application>

Primitives de langage XAML 2009

Par convention, les primitives de langage pour XAML et tous les autres éléments de langage XAML sont affichés, notamment le préfixe x: . C'est ainsi que les éléments de langage XAML sont généralement utilisés dans le balisage réel. Cette convention est suivie de la documentation conceptuelle pour XAML dans WPF, ainsi que dans la spécification XAML.

x:Object

Pour le stockage CLR, la primitive x:Object correspond à Object.

Cette primitive n'est généralement pas utilisée dans le balisage d'application, mais elle peut être utile pour certains scénarios tels que la vérification de l'assignabilité dans un système de type XAML.

x:Boolean

Pour le stockage CLR, la primitive x:Boolean correspond à Boolean.

XAML analyse les valeurs de x:Boolean sans respect de la casse. Notez que x:Bool n'est pas une alternative acceptée. Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.17 et 7.4.11.

x:Char

Pour le stockage CLR, la primitive x:Char correspond à Char.

Les types de chaîne et de caractère ont une interaction avec l'encodage global du fichier au niveau XML. Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.7 et 7.4.1.

x:String

Pour le stockage CLR, la primitive x:String correspond à String.

Les types de chaîne et de caractère ont une interaction avec l'encodage global du fichier au niveau XML. Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.6.

x:Decimal

Pour le stockage CLR, la primitive x:Decimal correspond à Decimal.

L’analyse XAML est effectuée par nature sous en-US culture. Dans la culture en-US , le séparateur approprié pour les composants d'une valeur décimale est toujours le point (.), indépendamment des paramètres de culture de l'environnement de développement, ou de la cible cliente éventuelle où le code XAML est chargé au moment de l'exécution.

Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.14 et 7.4.8.

x:Single

Pour le stockage CLR, la primitive x:Single correspond à Single.

Outre les valeurs numériques, la syntaxe de texte de x:Single autorise également les jetons Infinity, -Infinityet NaN. Ces jetons sont traités avec respect de la casse.

x:Single peut prendre en charge les valeurs sous forme de notation scientifique, si le premier caractère dans la syntaxe de texte est e ou E.

Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.8 et 7.4.2.

x:Double

Pour le stockage CLR, la primitive x:Double correspond à Double.

Outre les valeurs numériques, la syntaxe de texte de x:Double autorise les jetons Infinity, -Infinityet NaN. Ces jetons sont traités avec respect de la casse.

x:Double peut prendre en charge les valeurs sous forme de notation scientifique. Utilisez le caractère e ou E pour introduire la partie exposant.

Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.9 et 7.4.3.

x:Int16

Pour le stockage CLR, la primitive x:Int16 correspond à Int16 et x:Int16 est considérée comme signée. En XAML, l'absence d'un signe plus (+) dans la syntaxe de texte indique implicitement une valeur signée positive.

Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.11 et 7.4.5.

x:Int32

Pour le stockage CLR, la primitive x:Int32 correspond à Int32. x:Int32 est considérée comme signée. En XAML, l'absence d'un signe plus (+) dans la syntaxe de texte indique implicitement une valeur signée positive.

Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.12 et 7.4.6.

x:Int64

Pour le stockage CLR, la primitive x:Int64 correspond à Int64. x:Int64 est considérée comme signée. En XAML, l'absence d'un signe plus (+) dans la syntaxe de texte indique implicitement une valeur signée positive.

Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.13 et 7.4.7.

x:TimeSpan

Pour le stockage CLR, la primitive x:TimeSpan correspond à TimeSpan.

L’analyse XAML pour le format de date d’heure est effectuée par nature sous en-US culture.

Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.16 et 7.4.10.

x:Uri

Pour le stockage CLR, la primitive x:Uri correspond à Uri.

La vérification des protocoles ne fait pas partie de la définition XAML de x:Uri.

Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.15 et 7.4.9.

x:Byte

Pour le stockage CLR, la primitive x:Byte correspond à Byte. Un Byte / x:Byte est traité comme non signé.

Pour obtenir la définition de la spécification du langage XAML, consultez les sections [MS-XAML] Sections 7.2.10 et 7.4.4.

x:Array

Pour le stockage CLR, la primitive x:Array correspond à Array.

Vous pouvez définir un tableau dans XAML 2006 à l'aide d'une syntaxe d'extension de balisage ; toutefois, la syntaxe XAML 2009 est une primitive définie par le langage qui ne requiert pas l'accès à une extension de balisage. Pour plus d’informations sur la prise en charge de XAML 2006, consultez x:Array Markup Extension.

Pour obtenir la définition de la spécification du langage XAML, consultez [MS-XAML] Sections 7.2.18.

Prise en charge de WPF

Dans WPF, vous pouvez utiliser les fonctionnalités XAML 2009, mais uniquement pour le code XAML qui n'est pas compilé par balisage. Le code XAML compilé par balisage pour WPF et la forme BAML du code XAML ne prennent actuellement pas en charge les mots clés et les fonctionnalités XAML 2009.

La création de code XAML libre, suivie du chargement de ce code XAML dans une exécution de WPF et dans un graphique d'objets avec XamlReader.Loadconstitue un scénario dans lequel vous pouvez utiliser les fonctionnalités XAML 2009 avec WPF. La classe System.Windows.Markup.XamlReader WPF et sa méthode Load peuvent traiter les mots clés de langage et fonctionnalités XAML 2009 dans une représentation de graphique d'objets valide.