DateTime, syntaxe XAML

Certains contrôles, tels que Calendar et DatePicker, ont des propriétés qui utilisent le DateTime type. Bien que vous spécifiiez généralement une date ou une heure initiale pour ces contrôles dans le code-behind au moment de l’exécution, vous pouvez en spécifier une en XAML. L’analyseur XAML WPF gère l’analyse des DateTime valeurs à l’aide d’une syntaxe de texte XAML intégrée. Cette rubrique décrit les spécificités de la DateTime syntaxe de texte XAML.

Quand utiliser la syntaxe XAML de DateTime ?

La définition des dates en XAML n’est pas toujours nécessaire, et n’est même parfois pas souhaitable. Par exemple, vous pouvez utiliser la DateTime.Now propriété pour initialiser une date au moment de l’exécution, ou vous pouvez effectuer tous vos ajustements de date pour un calendrier dans le code-behind en fonction de l’entrée utilisateur. Toutefois, il existe des scénarios où vous souhaiterez peut-être coder en dur des dates dans un Calendar modèle de contrôle et DatePicker dans un modèle de contrôle. La DateTime syntaxe XAML doit être utilisée pour ces scénarios.

La syntaxe XAML de DateTime est un comportement natif

DateTime est une classe définie dans les bibliothèques de classes de base du CLR. En raison de la relation entre les bibliothèques de classes de base et le reste du CLR, il n’est pas possible de s’appliquer TypeConverterAttribute à la classe et d’utiliser un convertisseur de type pour traiter les chaînes de XAML et les DateTime convertir dans le modèle objet d’exécution. Il existe aucune classe DateTimeConverter qui fournit le comportement de conversion ; le comportement de conversion décrit dans cette rubrique est natif à l’analyseur XAML WPF.

Chaînes de format pour la syntaxe XAML de DateTime

Vous pouvez spécifier le format d’une DateTime chaîne de format. Les chaînes de format formalisent la syntaxe de texte qui peut être utilisée pour créer une valeur. DateTime les valeurs des contrôles WPF existants utilisent généralement uniquement les composants de date et DateTime non les composants d’heure.

Lorsque vous spécifiez un DateTime code XAML, vous pouvez utiliser l’une des chaînes de format de manière interchangeable.

Vous pouvez également utiliser des formats et des chaînes de format qui ne sont pas indiquées spécifiquement dans cette rubrique. Techniquement, le code XAML pour toutes les valeurs spécifiées, puis analysés par l’analyseur XAML WPF utilise un appel interne à DateTime.Parse, par conséquent, vous pouvez utiliser n’importe quelle DateTime chaîne acceptée pour DateTime.Parse votre entrée XAML. Pour plus d’informations, consultez DateTime.Parse.

Important

La syntaxe XAML DateTime utilise en-us toujours comme CultureInfo valeur de conversion native. Cela n’est pas influencé par la valeur ou xml:lang la Language valeur dans le code XAML, car la conversion de type au niveau de l’attribut XAML agit sans ce contexte. N’essayez pas d’interpoler les chaînes de format présentées ici en raison des variations culturelles, telles que l’ordre d’affichage du jour et du mois. Les chaînes de format illustrées ici sont exactement celles utilisées lors de l’analyse du XAML, quels que soient les autres paramètres de culture.

Les sections suivantes décrivent certaines des chaînes de format courantes DateTime .

Modèle de date courte (« d »)

L’exemple suivant montre le format de date court d’un DateTime code XAML :

M/d/YYYY

Il s’agit de la forme la plus simple qui spécifie toutes les informations nécessaires pour les utilisations typiques par les contrôles WPF. Elle ne peut pas être influencée par des décalages de fuseau horaire accidentels par rapport à un composant d’heure, et est donc recommandée par rapport aux autres formats.

Par exemple, pour spécifier le 1er juin 2010, utilisez la chaîne suivante :

3/1/2010

Pour plus d’informations, consultez DateTimeFormatInfo.ShortDatePattern.

Modèle de date/heure pouvant être trié (« s »)

Les éléments suivants illustrent le modèle triable DateTime en XAML :

yyyy'-'MM'-'dd'T'HH':'mm':'ss

Par exemple, pour spécifier le 1er juin 2010, utilisez la chaîne suivante (les composants heure sont tous entrés avec la valeur 0) :

2010-06-01T000:00:00

Modèle RFC1123 (« r »)

Le modèle RFC1123 est utile, car il peut constituer une entrée de chaîne pour d’autres générateurs de date qui utilisent également le modèle RFC1123 pour des raisons de culture dite indifférente. Voici le modèle RFC1123 DateTime en XAML :

ddd, dd MMM yyyy HH':'mm':'ss 'UTC'

Par exemple, pour spécifier le 1er juin 2010, utilisez la chaîne suivante (les composants heure sont tous entrés avec la valeur 0) :

Mon, 01 Jun 2010 00:00:00 UTC

Autres formats et modèles

Comme indiqué précédemment, un DateTime code XAML peut être spécifié en tant que chaîne acceptable comme entrée.DateTime.Parse Cela inclut d’autres formats formalisés (par exemple UniversalSortableDateTimePattern), et les formats qui ne sont pas formalisés comme une forme particulière DateTimeFormatInfo . Par exemple, le formulaire YYYY/mm/dd est acceptable comme entrée pour DateTime.Parse. Cette rubrique n’a pas pour but de décrire tous les formats possibles qui fonctionnent, mais plutôt de recommander l’usage du modèle de date courte comme pratique standard.

Voir aussi