共用方式為


iOS 上的選擇器項目選取專案

這個 iOS 平臺特定控制件當項目選取發生在 中Picker時,允許使用者指定在控件中瀏覽項目時發生,或只按下 [完成] 按鈕一次。 它會在 XAML 中取用,方法是將 Picker.UpdateMode 附加屬性設定為 列舉的值 UpdateMode

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

或者,您可以使用 Fluent API 從 C# 取用它:

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

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

方法 Picker.On<iOS> 會指定此平台專屬只會在iOS上執行。 命名空間 Picker.SetUpdateMode 中的 Xamarin.Forms.PlatformConfiguration.iOSSpecific 方法可用來控制項目選取何時發生,而 UpdateMode 列舉會提供兩個可能的值:

  • Immediately – 當用戶流覽 中的 Picker專案時,就會發生項目選取。 這是中的 Xamarin.Forms預設行為。
  • 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;
}

結果是,指定的 UpdateMode 會套用至 Picker,這會控制項目選取何時發生:

Picker UpdateMode 平臺特定