Поделиться через


TimePicker

Пользовательский интерфейс многоплатформенного приложения .NET (.NET MAUI) TimePicker вызывает элемент управления выбора времени платформы и позволяет выбрать время.

TimePicker определяет следующие свойства:

  • Time типа TimeSpan, выбранное время, которое по умолчанию имеет TimeSpan значение 0. Тип TimeSpan указывает длительность времени с полуночи.
  • Formatтип string, стандартная или настраиваемая строка форматирования .NET, которая по умолчанию имеет значение t, короткий шаблон времени.
  • TextColor тип Color, цвет, используемый для отображения выбранного времени.
  • FontAttributes тип FontAttributes, для которого по умолчанию используется FontAtributes.Noneзначение .
  • FontFamily тип string, для которого по умолчанию используется nullзначение .
  • FontSize тип double, который по умолчанию соответствует -1.0.
  • CharacterSpacing с типом double представляет собой интервал между знаками текста TimePicker.

Все эти свойства поддерживаются BindableProperty объектами, что означает, что их можно стильировать, а свойства могут быть целевыми объектами привязки данных. Свойство Time имеет режим BindingMode.TwoWayпривязки по умолчанию, что означает, что это может быть цель привязки данных в приложении, использующем шаблон Model-View-ViewModel (MVVM).

Примечание.

Не TimePicker включает событие, указывающее новое выбранное Time значение. Если вам нужно получить уведомление об этом, можно добавить обработчик событий для PropertyChanged события.

Кроме того, TimePicker определяет событие, которое возникает TimeSelected при изменении выбранного времени. Объект TimeChangedEventArgs , сопровождающий TimeSelected событие, имеет NewTime и OldTime свойства, которые указывают новое и старое время соответственно.

Создание TimePicker

Time При указании свойства в XAML значение преобразуется TimeSpan в и проверяется, чтобы число миллисекунд было больше или равно 0, а количество часов меньше 24. Компоненты времени должны быть разделены двоеточиями:

<TimePicker Time="4:15:26" />

BindingContext Если для свойства TimePicker задано значение экземпляра viewmodel, содержащего свойство типа TimeSpan с именем SelectedTime (например, можно создать экземпляр следующего TimePicker вида:

<TimePicker Time="{Binding SelectedTime}" />

В этом примере Time свойство инициализируется SelectedTime свойством в представлении. Time Так как свойство имеет режим TwoWayпривязки, любой новый раз, когда пользователь выбирает, автоматически распространяется на модель представления.

В коде можно инициализировать Time свойство в значение типа TimeSpan:

TimePicker timePicker = new TimePicker
{
  Time = new TimeSpan(4, 15, 26) // Time set to "04:15:26"
};

Сведения о настройке свойств шрифта см. в разделе "Шрифты".

TimePicker и макет

Можно использовать неограниченный горизонтальный макет, например Center, Startили End с TimePicker:

<TimePicker ···
            HorizontalOptions="Center" />

Однако это делать не рекомендуется. В зависимости от параметра Format свойства выбранные времена могут потребовать разных ширин отображения. Например, строка формата "T" приводит TimePicker к отображению времени в длинном формате, а "4:15:26" требует больше ширины отображения, чем короткий формат времени ("t") "4:15 AM". В зависимости от платформы это различие может привести TimePicker к изменению ширины представления в макете или усечения дисплея.

Совет

Рекомендуется использовать параметр по умолчанию HorizontalOptions и TimePickerне использовать ширину Auto при вводе TimePicker в ячейкуGrid.Fill

Различия между платформами

В этом разделе описываются различия платформы с элементом TimePicker управления.

В Android Format свойство уважается и отображается элементом управления. Однако если элемент управления выбора отображается путем нажатия клавиши на элементе управления, можно изменить только час, минуту и время дня.