DatePicker
Пользовательский интерфейс многоплатформенного приложения .NET (.NET MAUI) DatePicker вызывает элемент управления выбора дат и позволяет выбрать дату.
DatePicker определяет восемь свойств:
MinimumDate
типDateTime
, который по умолчанию используется в первый день года 1900 года.MaximumDate
типDateTime
, который по умолчанию используется в последний день года 2100 года.Date
типDateTime
, выбранная дата, которая по умолчанию имеет значениеDateTime.Today
.Format
типstring
, стандартная или настраиваемая строка форматирования .NET, которая по умолчанию имеет значение "D", шаблон длинной даты.TextColor
тип Color, цвет, используемый для отображения выбранной даты.FontAttributes
типFontAttributes
, для которого по умолчанию используетсяFontAtributes.None
значение .FontFamily
типstring
, для которого по умолчанию используетсяnull
значение .FontSize
типdouble
, который по умолчанию соответствует -1.0.CharacterSpacing
с типомdouble
представляет собой интервал между знаками текста DatePicker.
Все восемь свойств поддерживаются BindableProperty объектами, что означает, что их можно стильировать, а свойства могут быть целевыми объектами привязки данных. Свойство Date
имеет режим BindingMode.TwoWay
привязки по умолчанию, что означает, что это может быть цель привязки данных в приложении, использующем шаблон Model-View-ViewModel (MVVM).
Предупреждение
При установке MinimumDate
и MaximumDate
убедитесь, что значение MinimumDate
всегда меньше или равно MaximumDate
. DatePicker В противном случае вызовет исключение.
Гарантирует DatePicker , что Date
между MinimumDate
и MaximumDate
, включительно. Если MinimumDate
или MaximumDate
задано таким образом, что Date
между ними нет, DatePicker изменит значение Date
.
DateSelected
Вызывает DatePicker событие, когда пользователь выбирает дату.
Создание DatePicker
DateTime
Если значение указано в XAML, средство синтаксического анализа XAML использует DateTime.Parse
метод с аргументом CultureInfo.InvariantCulture
для преобразования строки в DateTime
значение. Даты должны быть указаны в точном формате: два цифры месяцев, двухзначные дни и четыре цифры лет, разделенные косой чертой:
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
BindingContext
Если для свойства DatePicker задано значение экземпляра viewmodel, содержащего свойства типа DateTime
с именемMinDate
, MaxDate
и SelectedDate
(например, например), можно создать DatePicker экземпляр следующим образом:
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
В этом примере все три свойства инициализированы для соответствующих свойств в режиме просмотра. Date
Так как свойство имеет режим TwoWay
привязки, любая новая дата, которую пользователь выбирает, автоматически отражается в моделье представления.
DatePicker Если свойство не содержит привязкуDate
, приложение должно прикрепить обработчик к DateSelected
событию, чтобы получить уведомление, когда пользователь выбирает новую дату.
В коде можно инициализировать MinimumDate
MaximumDate
Date
и свойства в значения типаDateTime
:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
Сведения о настройке свойств шрифта см. в разделе "Шрифты".
DatePicker и макет
Можно использовать неограниченный горизонтальный макет, например Center
, Start
или End
с DatePicker:
<DatePicker ···
HorizontalOptions="Center" />
Однако это делать не рекомендуется. В зависимости от параметра Format
свойства выбранные даты могут требовать разные ширины отображения. Например, строка формата "D" приводит DateTime
к отображению дат в длинном формате и "среда, 12 сентября 2018 г." требует большей ширины отображения, чем "пятница, 4 мая 2018 г.". В зависимости от платформы это различие может привести DateTime
к изменению ширины представления в макете или усечения дисплея.
Совет
Рекомендуется использовать параметр по умолчанию HorizontalOptions
и DatePickerне использовать ширину Auto
при вводе DatePicker в ячейкуGrid.Fill
Локализация DatePicker в Windows
Для приложений, предназначенных для Windows, для DatePicker отображения дат в формате, локализованном для параметров пользователя, включая имена месяцев и дней в диалоговом окне выбора, требуется определенная конфигурация в файле Package.appxmanifest проекта. Локализация элементов в манифесте пакета улучшает взаимодействие с пользователем, следуя культурным нормам языкового стандарта пользователя.
Локализация форматов дат и строк в <xref:Microsoft.Maui.Controls.DatePicker>
файле Package.appxmanifest требует объявления поддерживаемых языков.
Выполните следующие действия, чтобы настроить DatePicker локализацию в Windows:
Найдите раздел "Ресурсы".
Перейдите
Platforms\Windows
в папку проекта и откройте файл Package.appxmanifest в редакторе кода или Visual Studio. При использовании Visual Studio убедитесь, что вы просматриваете необработанный XML-код файла.<Resources>
Найдите раздел, который может первоначально включать:<Resources> <Resource Language="x-generate" /> </Resources>
Укажите поддерживаемые языки.
Замените
<Resource Language="x-generate">
элементами<Resource />
для каждого из поддерживаемых языков. Код языка должен быть в виде тега языка BCP-47, напримерen-US
для английского (США), испанского (Испания),es-ES
fr-FR
для французского (Франция) илиde-DE
для немецкого (Германия). Например, чтобы добавить поддержку английского (США) и испанского (Испания), необходимо изменить раздел<Resources>
, чтобы выглядеть следующим образом:<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
Эта конфигурация гарантирует, что DatePicker форматы даты, месяцы и дни будут отображаться в соответствии с языковым стандартом пользователя, что значительно повышает удобство использования и доступность приложения в разных регионах.
Дополнительные сведения о локализации в приложениях .NET MAUI см. в разделе "Локализация".