Выбор элемента DatePicker в iOS

Download Sample Скачайте пример

Этот элемент управления для платформы iOS определяется при выборе элементов в элементе DatePickerуправления, что позволяет пользователю указывать, что выбор элемента происходит при просмотре элементов в элементе управления или только после нажатия кнопки "Готово ". Он используется в XAML, задав DatePicker.UpdateMode присоединенное свойство значение перечисления 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>

Кроме того, его можно использовать из C# с помощью api fluent:

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

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

Метод DatePicker.On<iOS> указывает, что эта платформа будет работать только в iOS. Метод DatePicker.SetUpdateMode в Xamarin.Forms.PlatformConfiguration.iOSSpecific пространстве имен используется для управления при выборе элемента, при UpdateMode этом перечисление предоставляет два возможных значения:

  • 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элементу управления при выборе элемента:

Screenshot of DatePicker update modes