Share via


iOS でのピッカー項目の選択

この .NET マルチプラットフォーム アプリ UI (.NET MAUI) iOS プラットフォーム固有は、Picker で項目の選択が発生するタイミングを制御します。これにより、ユーザーはコントロール内の項目を参照するときに項目の選択が行われるか、[完了] ボタンが押されたときにのみ項目の選択が行われるかを指定できます。 Picker.UpdateMode 添付プロパティを UpdateMode 列挙型の値に設定することで、XAML で使用されます。

<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>

あるいは、Fluent API を使用して C# から使用することもできます。

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

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

Picker.On<iOS> メソッドは、このプラットフォーム固有が iOS でのみ実行されるように指定します。 Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific 名前空間の Picker.SetUpdateMode メソッドは、項目選択がいつ行われるかを制御するために使用されます。UpdateMode 列挙型は 2 つの可能な値を提供します。

  • Immediately - 項目の選択は、ユーザーが Picker 内の項目を参照するときに行われます。 これは .NET MAUI の既定の動作です。
  • WhenFinished - 項目の選択は、ユーザーが Picker[完了] ボタンを押した後にのみ行われます。

さらに、SetUpdateMode メソッドを使用して、UpdateMode メソッドを呼び出して列挙値を切り替えることができます。このメソッドは現在の UpdateMode を返します。

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;
}

その結果、指定された UpdateModePicker に適用され、項目の選択がいつ行われるかを制御します。

Picker UpdateMode Platform-Specific.