2017-02-20 27 views
0

Я хочу изменить стиль DatePicker для UWP, как показано ниже.Я хочу изменить стиль DatePicker UWP

Я хочу, чтобы год был первым и месяц вторым.

Я изменил стиль, но он не работает.

Что мне делать?

Благодарим вас за ответ.

enter image description here

+4

Во-первых, не могли бы вы поделиться с измененным стилем, который вы используете? Во-вторых, пытаетесь ли вы внести изменения в культурный стиль отображения дат? – Corcus

+0

Решено Sunteen Wu - ответ MSFT. 1. Стиль - это степень, в которой только стиль столбца изменяется в стиле по умолчанию. 2. Да. – ceastgun

ответ

1

По 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"; 

И результат

enter image description here

уважать языковые и культурные предпочтения пользователя, это не может быть рекомендовано изменить.

+1

Я хотел бы прокомментировать, что если вы установите PrimaryLanguageOverride, то это значение сохраняется при последующих запусках приложения, если вы не сбросите его. – Corcus

+0

@Corcus, да, вы правы, страница свойств, которую я загрузил выше, уже упоминался. Поэтому я также рекомендую не делать этого, хотя это можно сделать. –

+0

Большое спасибо. Хорошо. – ceastgun

 Смежные вопросы

  • Нет связанных вопросов^_^