Selezione dell'elemento DatePicker in iOS

Download Sample Scaricare l'esempio

Questo controllo specifico della piattaforma iOS quando si verifica la selezione di elementi in un DatePickeroggetto , consentendo all'utente di specificare che la selezione degli elementi viene eseguita durante l'esplorazione degli elementi nel controllo o solo una volta premuto il pulsante Fine . Viene utilizzata in XAML impostando la DatePicker.UpdateMode proprietà associata su un valore dell'enumerazione 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>

In alternativa, può essere usato da C# usando l'API Fluent:

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

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

Il DatePicker.On<iOS> metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il DatePicker.SetUpdateMode metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.iOSSpecific nomi , viene usato per controllare quando si verifica la selezione degli elementi, con l'enumerazione UpdateMode che fornisce due valori possibili:

  • Immediately : la selezione degli elementi viene eseguita quando l'utente esplora gli elementi in DatePicker. Si tratta del comportamento predefinito in Xamarin.Forms.
  • WhenFinished : la selezione dell'elemento viene eseguita solo dopo che l'utente ha premuto il pulsante Fine in DatePicker.

Inoltre, il SetUpdateMode metodo può essere usato per attivare o disattivare i valori di enumerazione chiamando il UpdateMode metodo , che restituisce l'oggetto corrente 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;
}

Il risultato è che un oggetto specificato UpdateMode viene applicato a DatePicker, che controlla quando si verifica la selezione degli elementi:

Screenshot of DatePicker update modes