Я хочу изменить стиль DatePicker для UWP, как показано ниже.Я хочу изменить стиль DatePicker UWP
Я хочу, чтобы год был первым и месяц вторым.
Я изменил стиль, но он не работает.
Что мне делать?
Благодарим вас за ответ.
Я хочу изменить стиль DatePicker для UWP, как показано ниже.Я хочу изменить стиль DatePicker UWP
Я хочу, чтобы год был первым и месяц вторым.
Я изменил стиль, но он не работает.
Что мне делать?
Благодарим вас за ответ.
По this article:
Есть много различных способов для правильного отображения даты и времени. В разных регионах и культурах используются разные соглашения для порядка дня и месяца в дате, для разделения часов и минут за время и даже для того, какая пунктуация используется в качестве разделителя.
Если вы используете элементы управления date and time picker, они будут автоматически использовать формат даты и времени для предпочтительного языка и региона пользователя. Таким образом, порядок определяется предпочтительным языком и регионом пользователя, поэтому вы не сможете изменить их по типу DatePicker
.
Первое изображение, показанное выше, похоже на предпочтительный язык: en-US
и домашний регион US
. В сценариях, где вы предоставляете различные функции, основанные на языковых, региональных или культурных предпочтениях пользователя, Windows дает вам возможность получить доступ к этим предпочтениям через Windows.System.UserProfile.GlobalizationPreferences
. И второе изображение похоже на предпочтительный язык - китайский. Предпочтительным языком может быть переопределение по свойству PrimaryLanguageOverride
. Обратите внимание, что свойство PrimaryLanguageOverride
должно быть настроено только на языки, доступные для пользователя.
Так что если вы измените предпочитаемый язык на китайский, то DataPicker
может быть отображен в порядке year-mouth-day
. Также необходимо изменить формат, как показано на втором изображении. Код выглядит следующим образом:
<DatePicker BorderThickness="0" FontFamily="Arial Black" FontSize="15" FontWeight="Bold" MinWidth="190" DayFormat="{}{day.integer(2)}" MonthFormat="month.numeric" YearFormat="{}{year.full(4)}" />
код за
ApplicationLanguages.PrimaryLanguageOverride = "zh-Hans-CN";
И результат
уважать языковые и культурные предпочтения пользователя, это не может быть рекомендовано изменить.
Я хотел бы прокомментировать, что если вы установите PrimaryLanguageOverride, то это значение сохраняется при последующих запусках приложения, если вы не сбросите его. – Corcus
@Corcus, да, вы правы, страница свойств, которую я загрузил выше, уже упоминался. Поэтому я также рекомендую не делать этого, хотя это можно сделать. –
Большое спасибо. Хорошо. – ceastgun
Во-первых, не могли бы вы поделиться с измененным стилем, который вы используете? Во-вторых, пытаетесь ли вы внести изменения в культурный стиль отображения дат? – Corcus
Решено Sunteen Wu - ответ MSFT. 1. Стиль - это степень, в которой только стиль столбца изменяется в стиле по умолчанию. 2. Да. – ceastgun