Types intégrés pour les primitives de langage XAML courantes
XAML 2009 introduit la prise en charge au niveau du langage XAML pour plusieurs types de données fréquemment utilisés dans le Common Language Runtime (CLR) et dans d’autres langages de programmation. XAML 2009 ajoute la prise en charge de ces primitives : 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 de langage dans le balisage XAML
En XAML pour les versions précédentes de WPF, vous pouvez référencer les primitives du langage CLR en mappant l’assembly et l’espace de noms qui contenaient une classe de définition de primitive CLR pour .NET Framework. La plupart d’entre eux se trouvent dans l’assembly mscorlib et l’espace de noms System. Par exemple, pour utiliser Int32, vous pouvez déclarer le mappage suivant (avec un exemple d’utilisation illustré par la suite) :
<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 du langage XAML 2009
Par convention, les primitives de langage pour XAML et tous les autres éléments de langage XAML sont affichées, y compris 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 dans la documentation conceptuelle pour XAML dans WPF et 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 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
comme non sensibles à 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 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ères 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 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ères 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. Sous en-US
culture, le séparateur correct pour les composants d’une décimale est toujours un 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 sections [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 du texte pour x:Single
autorise également les jetons Infinity
, -Infinity
et NaN
. Ces jetons sont traités comme respectant la casse.
x:Single
peut prendre en charge les valeurs sous forme de notation scientifique, si le premier caractère de la syntaxe de texte est e
ou E
.
Pour obtenir la définition de la spécification du langage XAML, consultez sections [MS-XAML] Sections 7.2.8 et 7.4.2.
x :Double
Pour le stockage CLR, la primitive x:Double
correspond à Double.
En plus des valeurs numériques, la syntaxe du texte pour x:Double
autorise les jetons Infinity
, -Infinity
et NaN
. Ces jetons sont traités comme respectant 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 exposante.
Pour obtenir la définition de la spécification du langage XAML, consultez sections [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 traitée comme signée. En XAML, l’absence d’une syntaxe de texte de connexion plus (+
) est implicite comme 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 traitée comme signée. En XAML, l’absence d’une syntaxe de texte de connexion plus (+
) est implicite comme une valeur signée positive.
Pour obtenir la définition de la spécification du langage XAML, consultez 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 traitée comme signée. En XAML, l’absence d’une syntaxe de texte de connexion plus (+
) est implicite comme une valeur signée positive.
Pour obtenir la définition de la spécification du langage XAML, consultez 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 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 pour x:Uri
.
Pour obtenir la définition de la spécification du langage XAML, consultez sections [MS-XAML] Sections 7.2.15 et 7.4.9.
x :Byte
Pour le stockage CLR, la primitive x:Byte
correspond à Byte. Une Byte / x:Byte
est traitée comme non signée.
Pour obtenir la définition de la spécification du langage XAML, consultez 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 en 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 nécessite pas d’accéder à 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 des fonctionnalités XAML 2009, mais uniquement pour XAML qui n’est pas compilé par balisage. Le code XAML compilé par balisage pour WPF et la forme BAML de XAML ne prennent pas actuellement en charge les mots clés et fonctionnalités XAML 2009.
Un scénario dans lequel vous pouvez utiliser des fonctionnalités XAML 2009 avec WPF est que vous créez du CODE XAML libre et que vous chargez ensuite ce code XAML dans un runtime WPF et un graphique d’objets avec XamlReader.Load. Le System.Windows.Markup.XamlReader WPF et son Load peuvent traiter les mots clés et fonctionnalités du langage XAML 2009 dans une représentation de graphique d’objets valide.
.NET Desktop feedback