Partager via


Sélection de l’élément DatePicker sur iOS

Ce contrôle spécifique à la plateforme iOS lorsque la sélection d’élément se produit dans un DatePicker, ce qui permet à l’utilisateur de spécifier cette sélection d’élément se produit lors de la navigation d’éléments dans le contrôle, ou une seule fois que le bouton Terminé est enfoncé. Elle est consommée en XAML en définissant la DatePicker.UpdateMode propriété jointe sur une valeur de l’énumération UpdateMode :

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
       <DatePicker MinimumDate="01/01/2020"
                   MaximumDate="12/31/2020"
                   ios:DatePicker.UpdateMode="WhenFinished" />
       ...
    </StackLayout>
</ContentPage>

Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);

La DatePicker.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La DatePicker.SetUpdateMode méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler quand la sélection d’élément se produit, avec l’énumération UpdateMode fournissant deux valeurs possibles :

  • Immediately : la sélection d’élément se produit lorsque l’utilisateur parcoure les éléments dans le DatePicker. Il s’agit du comportement par défaut dans Xamarin.Forms.
  • WhenFinished : la sélection d’élément se produit uniquement une fois que l’utilisateur a appuyé sur le bouton Terminé dans le DatePicker.

En outre, la SetUpdateMode méthode peut être utilisée pour activer/désactiver les valeurs d’énumération en appelant la UpdateMode méthode, qui retourne le résultat actuel UpdateMode:

switch (datePicker.On<iOS>().UpdateMode())
{
    case UpdateMode.Immediately:
        datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
        break;
    case UpdateMode.WhenFinished:
        datePicker.On<iOS>().SetUpdateMode(UpdateMode.Immediately);
        break;
}

Le résultat est qu’un spécifié UpdateMode est appliqué au DatePicker, qui contrôle lorsque la sélection d’élément se produit :

Capture d’écran des modes de mise à jour DatePicker