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

Télécharger l’exemple Télécharger l’exemple

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 que la sélection d’élément se produit lors de la navigation dans les éléments dans le contrôle, ou seulement une fois que le bouton Terminé est enfoncé. Il est consommé 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>

Vous pouvez également la consommer à 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 spécifique s’exécutera uniquement sur iOS. La DatePicker.SetUpdateMode méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler le moment où la sélection d’élément a lieu, l’énumération UpdateMode fournissant deux valeurs possibles :

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

En outre, la SetUpdateMode méthode peut être utilisée pour activer les valeurs d’énumération en appelant la UpdateMode méthode, qui retourne le 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é à , DatePickerqui contrôle lorsque la sélection d’élément se produit :

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