Partager via


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:Byteet 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, -Infinityet 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, -Infinityet 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.