Seleção de item DatePicker no iOS
Essa plataforma iOS controla quando a seleção de item ocorre em um DatePicker
, permitindo que o usuário especifique que a seleção de item ocorre ao navegar por itens no controle ou apenas quando o botão Concluído é pressionado. Ele é consumido em XAML definindo a DatePicker.UpdateMode
propriedade anexada como um valor da UpdateMode
enumeração:
<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>
Como alternativa, ele pode ser consumido do C# usando a API fluente:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
datePicker.On<iOS>().SetUpdateMode(UpdateMode.WhenFinished);
O DatePicker.On<iOS>
método especifica que essa plataforma específica só será executada no iOS. O DatePicker.SetUpdateMode
método, no Xamarin.Forms.PlatformConfiguration.iOSSpecific
namespace, é usado para controlar quando ocorre a seleção de item, com a UpdateMode
enumeração fornecendo dois valores possíveis:
Immediately
– a seleção de item ocorre à medida que o usuário procura itens noDatePicker
. Esse é o comportamento padrão em Xamarin.Forms.WhenFinished
– a seleção de item só ocorre depois que o usuário pressiona o botão Concluído noDatePicker
.
Além disso, o SetUpdateMode
método pode ser usado para alternar os valores de enumeração chamando o UpdateMode
método , que retorna o atual 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;
}
O resultado é que um especificado UpdateMode
é aplicado ao DatePicker
, que controla quando ocorre a seleção de item: