TimePicker-Elementauswahl auf iOS

Diese plattformspezifischen iOS-Steuerelemente, wenn die Elementauswahl in einem TimePickerElement auftritt, sodass der Benutzer angeben kann, dass die Elementauswahl beim Durchsuchen von Elementen im Steuerelement auftritt, oder nur, wenn die Schaltfläche "Fertig " gedrückt wird. Sie wird in XAML verwendet, indem sie die TimePicker.UpdateMode angefügte Eigenschaft auf einen Wert der UpdateMode Aufzählung festlegt:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout>
       <TimePicker Time="14:00:00"
                   ios:TimePicker.UpdateMode="WhenFinished" />
       ...
    </StackLayout>
</ContentPage>

Alternativ kann sie mit der Fluent-API von C# genutzt werden:

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

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

Die TimePicker.On<iOS>-Methode gibt an, dass dies plattformspezifisch unter iOS ausgeführt wird. Die TimePicker.SetUpdateMode Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific Namespace wird verwendet, um zu steuern, wann die Elementauswahl eintritt, wobei die UpdateMode Aufzählung zwei mögliche Werte bereitstellt:

  • Immediately – Die Elementauswahl tritt auf, wenn der Benutzer Elemente im TimePicker-Bereich durchsucht. Dies ist das Standardverhalten in Xamarin.Forms.
  • WhenFinished – Die Elementauswahl tritt nur auf, wenn der Benutzer die Schaltfläche Fertig in TimePicker gedrückt hat.

Darüber hinaus kann die SetUpdateMode Methode zum Umschalten der Aufzählungswerte verwendet werden, indem die UpdateMode Methode aufgerufen wird, welche die aktuelle UpdateMode widergibt:

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

Das Ergebnis ist, dass ein bestimmtes UpdateMode auf das TimePicker angewendet wird, das steuert, wann die Artikelauswahl erfolgt:

Screenshot der TimePicker-Updatemodi