iOS での DatePicker 項目の選択
この iOS プラットフォーム固有のコントロールは、 で項目の選択が行われるときに制御します。これにより、ユーザーはコントロール内の DatePicker
項目を参照するときに、または [ 完了 ] ボタンが押された後にのみ項目の選択が行われるよう指定できます。 添付プロパティを 列挙体の値UpdateMode
にDatePicker.UpdateMode
設定することで、XAML で使用されます。
<ContentPage ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
<DatePicker MinimumDate="01/01/2020"
MaximumDate="12/31/2020"
ios:DatePicker.UpdateMode="WhenFinished" />
...
</StackLayout>
</ContentPage>
または、fluent API を使用して C# から使用することもできます。
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
メソッドは DatePicker.On<iOS>
、このプラットフォーム固有のが iOS でのみ実行されるように指定します。 名前空間の Xamarin.Forms.PlatformConfiguration.iOSSpecific
メソッドはDatePicker.SetUpdateMode
、項目の選択が行われるタイミングを制御するために使用され、列挙では次の UpdateMode
2 つの可能な値が提供されます。
Immediately
– 項目の選択は、ユーザーが 内の項目を参照すると発生しますDatePicker
。 これは の既定の Xamarin.Forms動作です。WhenFinished
– 項目の選択は、ユーザーが の [完了 ] ボタンDatePicker
を押した場合にのみ行われます。
さらに、 メソッドをSetUpdateMode
使用して、現在UpdateMode
の を返す メソッドをUpdateMode
呼び出して列挙値を切り替えることができます。
switch (datePicker.On<iOS>().UpdateMode())
{
case UpdateMode.Immediately:
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
break;
case UpdateMode.WhenFinished:
datePicker.On<iOS>().SetUpdateMode(UpdateMode.Immediately);
break;
}
結果は、指定した UpdateMode
が に適用され、 DatePicker
項目の選択がいつ行われるかを制御します。