Výběr položky DatePickeru v iOSu
Tento ovládací prvek specifický pro platformu iOS řídí, když dojde k výběru položky v objektu DatePicker
, což uživateli umožňuje určit výběr položky při procházení položek v ovládacím prvku nebo pouze po stisknutí tlačítka Hotovo . Využívá se v XAML nastavením DatePicker.UpdateMode
připojené vlastnosti na hodnotu výčtu UpdateMode
:
<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>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
Metoda DatePicker.On<iOS>
určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda DatePicker.SetUpdateMode
v Xamarin.Forms.PlatformConfiguration.iOSSpecific
oboru názvů slouží k řízení, kdy dojde k výběru položky, s výčtem UpdateMode
poskytující dvě možné hodnoty:
Immediately
– výběr položky nastane, když uživatel prochází položky v souboruDatePicker
. Toto je výchozí chování v Xamarin.Forms.WhenFinished
– výběr položky nastane pouze tehdy, když uživatel stiskne tlačítko Hotovo na kartěDatePicker
.
Kromě toho lze metodu SetUpdateMode
použít k přepnutí hodnot výčtu voláním UpdateMode
metody, která vrací aktuální 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;
}
Výsledkem je, že se zadaný UpdateMode
parametr použije na DatePicker
, který řídí, když dojde k výběru položky: