Auswahlelementauswahl unter iOS

Beispiel herunterladen Das Beispiel herunterladen

Diese iOS-plattformspezifischen Steuerelemente, wenn die Elementauswahl in einem Pickererfolgt, sodass der Benutzer angeben kann, dass die Elementauswahl beim Durchsuchen von Elementen im Steuerelement erfolgt, oder erst, wenn die Schaltfläche Fertig gedrückt wird. Es wird in XAML verwendet, indem die Picker.UpdateMode angefügte Eigenschaft auf einen Wert der UpdateMode Enumeration festgelegt wird:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <Picker ... Title="Select a monkey" ios:Picker.UpdateMode="WhenFinished">
          ...
        </Picker>
        ...
    </StackLayout>
</ContentPage>

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

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

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

Die Picker.On<iOS> -Methode gibt an, dass diese plattformspezifische Nur unter iOS ausgeführt wird. Die Picker.SetUpdateMode -Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific Namespace wird verwendet, um zu steuern, wann die Elementauswahl erfolgt, wobei die UpdateMode Enumeration zwei mögliche Werte bereitstellt:

  • Immediately – Die Elementauswahl erfolgt, wenn der Benutzer Elemente im Pickerdurchsucht. Dies ist das Standardverhalten in Xamarin.Forms.
  • WhenFinished – Die Elementauswahl erfolgt nur, wenn der Benutzer die Schaltfläche Fertig in der Pickergedrückt hat.

Darüber hinaus kann die SetUpdateMode -Methode verwendet werden, um die Enumerationswerte durch Aufrufen der UpdateMode -Methode umzuschalten, die den aktuellen UpdateModezurückgibt:

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

Das Ergebnis ist, dass ein angegebenes UpdateMode auf das Pickerangewendet wird, das steuert, wenn die Elementauswahl erfolgt:

Auswahl UpdateMode Plattformspezifisch