Для работы с датами используется элемент DatePicker:
<DatePicker x:Name="datepicker1" Header="Выбрать дату" />
По умолчанию он использует англосаксонскую культуру и английский язык для отображения даты. Чтобы локализовать его представление, надо в файле манифеста приложения Package.appxmanifest изменить культуру на необходимую для приложения. Например, изменим на русскоязычную:
Рядом с полем установки культуры по ссылке More information можно найти все возможные языковые установки для других культур.
При запуске приложения вначале отобразится текстовое поле, в котором будет отображаться по умолчанию текущая дата:
Если мы нажмем на это поле, то нам будет предложено выбрать дату в трех выпадающих списках для месяца, дня и года:
Мы можем настроить отображение отдельных столбцов. Например:
<DatePicker x:Name="datepicker1" DayFormat="{}{day.integer} ({dayofweek.abbreviated})" MonthFormat="{}{month.full}" YearVisible="False" />
Свойства DayFormat, MonthFormat и YearFormat устанавливают формат отображения
даты для дня, месяца, года соответственно. Мы можем скрыть одну из частей даты, например, установка свойства YearVisible="False"
скрывает год,
и нам будут доступны для выбора только день и месяц.
С помощью свойств MaxYear/MinYear мы можем ограничить диапазон выбираемых годов.
В то же время у элемента отсутствует возможность выбора формата всей даты в целом. Кроме того, ограничены возможности по локализации.
Для локализации для определенных календарей предназначено свойство CalendarIdentifier, которое может принимать следующие значения:
GregorianCalendar
: григорианский календарь (по умолчанию)
HebrewCalendar
: еврейский календарь
HijriCalendar
: исламский календарь
JapaneseCalendar
: японский календарь
JulianCalendar
: юлианский календарь
KoreanCalendar
: корейский календарь
TaiwanCalendar
: тайваньский календарь
ThaiCalendar
: тайский календарь
UmAlQuraCalendar
: арабский календарь Ум Аль Кура
Например, использование последнего календаря (<DatePicker CalendarIdentifier="UmAlQuraCalendar" />
) будет выглядеть следующим образом:
Получить или установить выбранную дату в коде c# можно с помощью свойства Date
:
DateTime date = datepicker1.Date.Date;
Так как свойство datepicker1.Date
представляет тип DateTimeOffset
, поэтому, чтобы получить из него объект DateTime, надо использовать вложенное свойство Date.
TimePicker представляет элемент для выбора времени:
<TimePicker x:Name="timerTick1" ClockIdentifier="24HourClock" />
Свойство ClockIdentifier позволяет задать 12-часовой (значение 12HourClock
) или 24-часовой
(значение 24HourClock
) формат времени.
Элемент отображает время в виде строки:
По нажатию на это поле появляются возможности выбора времени:
Получить (или установить) выбранное время в коде C# мы можем с помощью свойства Time
:
TimeSpan time = tickBox1.Time