Freigeben über


Elementauswahl im Auswahlfeld unter iOS

Diese iOS-plattformspezifische Funktion von .NET Multi-Platform App UI (.NET MAUI) steuert, wann die Elementauswahl in einem Picker erfolgt. So kann der Benutzer festlegen, ob die Elementauswahl erfolgt, wenn er Elemente im Steuerelement durchsucht oder erst, wenn er die Schaltfläche Fertig drückt. Sie wird in XAML verwendet, indem sie die angefügte Eigenschaft Picker.UpdateMode auf einen Wert der UpdateMode-Enumeration festlegt:

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

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

using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...

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

Die Methode Picker.On<iOS> gibt an, dass diese plattformspezifische Funktion nur unter iOS ausführbar ist. Die Methode Picker.SetUpdateMode im Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific-Namespace wird verwendet, um zu steuern, wann die Elementauswahl erfolgt, wobei die UpdateMode-Enumeration zwei mögliche Werte bereitstellt:

  • Immediately – Die Auswahl erfolgt, wenn der Benutzer Elemente im Picker durchsucht. Dies ist das Standardverhalten in .NET MAUI.
  • WhenFinished – Die Auswahl erfolgt erst, wenn der Benutzer die Schaltfläche Fertig im Picker gedrückt hat.

Darüber hinaus kann die Methode SetUpdateMode zum Umschalten der Enumerationswerte verwendet werden. Dafür wird die Methode UpdateMode aufgerufen, die den aktuellen UpdateMode zurü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;
}

Als Ergebnis wird ein bestimmter UpdateMode auf den Picker angewendet, der steuert, wann die Elementauswahl erfolgt:

Picker UpdateMode Platform-Specific.