DatePicker
Le DatePicker de l’interface utilisateur de l’application multiplateforme .NET (.NET MAUI) appelle le contrôle de sélecteur de dates de la plateforme et vous permet de sélectionner une date.
DatePicker définit huit propriétés :
MinimumDate
de typeDateTime
, dont la valeur par défaut est le premier jour de l’année 1900.MaximumDate
de typeDateTime
, dont la valeur par défaut est le dernier jour de l’année 2100.Date
de typeDateTime
, la date sélectionnée, dont la valeur par défaut estDateTime.Today
.Format
de typestring
, une chaîne de mise en forme .NET standard ou personnalisée, dont la valeur par défaut est « D », le modèle de date longue.TextColor
de type Color, la couleur utilisée pour afficher la date sélectionnée.FontAttributes
de typeFontAttributes
, dont la valeur par défaut estFontAtributes.None
.FontFamily
de typestring
, dont la valeur par défaut estnull
.FontSize
de typedouble
, dont la valeur par défaut est -1.0.CharacterSpacing
, de typedouble
, est l’espacement entre les caractères du texte DatePicker.
Les huit propriétés s’appuient sur des objets BindableProperty, ce qui signifie qu’elles peuvent être mises en forme et que les propriétés peuvent être des cibles de liaisons de données. La propriété Date
a un mode de liaison par défaut de BindingMode.TwoWay
, ce qui signifie qu’elle peut être la cible d’une liaison de données dans une application qui utilise le modèle-vue-vue modèle (MVVM).
Avertissement
Lorsque vous définissez MinimumDate
et MaximumDate
, vérifiez que MinimumDate
est toujours inférieure ou égale à MaximumDate
. Sinon, DatePicker lève une exception.
Le DatePicker vérifie que la valeur de Date
est comprise entre MinimumDate
et MaximumDate
inclusive. Si MinimumDate
ou MaximumDate
est définie pour que Date
ne soit pas comprise entre elles, DatePicker ajuste la valeur de Date
.
Le DatePicker déclenche un événement DateSelected
lorsque l’utilisateur sélectionne une date.
Créer un DatePicker
Lorsqu’une valeur DateTime
est spécifiée en XAML, l’analyseur XAML utilise la méthode DateTime.Parse
avec un argument CultureInfo.InvariantCulture
pour convertir la chaîne en valeur DateTime
. Les dates doivent être spécifiées dans un format précis : mois à deux chiffres, jours à deux chiffres et années à quatre chiffres séparées par des barres obliques :
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
Si la propriété BindingContext
de DatePicker est définie sur l’instance d’un viewmodel contenant des propriétés de type DateTime
nommées MinDate
, MaxDate
et SelectedDate
(par exemple), vous pouvez instancier le DatePicker de la manière suivante :
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
Dans cet exemple, les trois propriétés sont initialisées sur les propriétés correspondantes dans le viewmodel. Étant donné que la propriété Date
a un mode de liaison TwoWay
, toute nouvelle date sélectionnée par l’utilisateur est automatiquement reflétée dans le viewmodel.
Si le DatePicker ne contient pas de liaison sur sa pro Date
, votre application doit attacher un gestionnaire à l’événement DateSelected
pour être informée de la sélection d’une nouvelle date par l’utilisateur.
Dans le code, vous pouvez initialiser les propriétés MinimumDate
, MaximumDate
et Date
aux valeurs de type DateTime
:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
Pour obtenir plus d’informations sur la définition des propriétés de police, consultez les Polices.
DatePicker et disposition
Il est possible d’utiliser une option de disposition horizontale non contrainte telle que Center
, Start
ou End
avec DatePicker :
<DatePicker ···
HorizontalOptions="Center" />
Toutefois, ce n’est pas recommandé. Selon le paramètre de la propriété Format
, il est possible que les dates sélectionnées nécessitent différentes largeurs d’affichage. Par exemple, la chaîne de format « D » entraîne l’affichage par DateTime
de dates en format long et « Mercredi 12 septembre 2018 » nécessite une largeur d’affichage supérieure à « Vendredi 4 mai 2018 ». Selon la plateforme, cette différence peut entraîner la modification d’affichage de la largeur de DateTime
dans la disposition ou une troncation de l’affichage.
Conseil
Il est préférable d’utiliser le paramètre par défaut HorizontalOptions
de Fill
avec DatePicker et de ne pas utiliser une largeur de Auto
lors du placement de DatePicker dans une cellule Grid.
Localiser un DatePicker sur Windows
Pour les applications ciblant Windows, le fait de vérifier que le DatePicker affiche des dates dans un format localisé aux paramètres de l’utilisateur, notamment les noms de mois et de jours dans la boîte de dialogue du sélecteur, nécessite une configuration spécifique dans le fichier Package.appxmanifest de votre projet. La localisation des éléments dans le manifeste du package améliore l’expérience utilisateur en respectant les normes culturelles des paramètres régionaux de l’utilisateur.
La localisation des formats de dates et de chaînes dans le <xref:Microsoft.Maui.Controls.DatePicker>
nécessite la déclaration des langues prises en charge dans votre fichier Package.appxmanifest.
Procédez comme suit pour configurer votre DatePicker pour la localisation sur Windows :
Localisez la section Ressources.
Accédez au dossier
Platforms\Windows
de votre projet et ouvrez le fichier Package.appxmanifest dans un éditeur de code ou Visual Studio. Si vous utilisez Visual Studio, vérifiez que vous affichez le code XML brut du fichier. Recherchez la section<Resources>
, qui peut inclure initialement :<Resources> <Resource Language="x-generate" /> </Resources>
Spécifiez les langues prises en charge.
Remplacez
<Resource Language="x-generate">
par les éléments<Resource />
pour chacune de vos langues prises en charge. Le code de langue doit être sous la forme d’une balise de langue BCP-47, par exempleen-US
pour l’anglais (États-Unis),es-ES
pour l’espagnol (Espagne),fr-FR
pour le français (France) oude-DE
pour l’allemand (Allemagne). Par exemple, pour ajouter la prise en charge de l’anglais (États-Unis) et de l’espagnol (Espagne), votre section<Resources>
doit être modifiée pour ressembler à ceci :<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
Cette configuration veille à ce que DatePicker affiche les formats de date, les mois et les jours en fonction des paramètres régionaux de l’utilisateur, ce qui améliore considérablement la facilité d’utilisation et l’accessibilité de l’application dans différentes régions.
Si vous souhaitez obtenir plus d’informations sur la localisation dans des applications .NET MAUI, consultez Localisation.