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:Byte
et 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
, -Infinity
et 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
, -Infinity
et 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.
.NET Desktop feedback