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
,這會控制項目選取何時發生: