在 windows rt 中本地化 DatePicker 和 TimePicker

Localize DatePicker and TimePicker in windows rt

如何本地化 DatePicker 和 TimePicker?

我们的用例是用户将在控制面板中设置语言,我们将尝试显示正确的 datepicker/timepicker 格式。

我尝试设置 DatePicker/TimePicker 语言 属性 但它仍然设置为英语并且日期选择器的订单仍然是英语格式(月日年)和(小时分钟 AM/PM) 对于时间选择器。

我确实尝试了 DatePicker.CalendarIdentifier,它确实改变了日期选择器的日期格式。所以对于日语来说,它是正确设置的,但是timepicker只有一个clockidentifier,所以它没有改变显示(AM/PM仍然是英文)。

这是否意味着我必须识别语言并手动设置 calendaridentifer/clockidentifier?

提前致谢!

更新: 我确实发现了 GlobalizationPreference,我可以将它设置为 Date and TimePicker:

var 日历 = Windows.System.UserProfile.GlobalizationPreferences.Calendars[0]; var 时钟 = Windows.System.UserProfile.GlobalizationPreferences.Clocks[0];

如果我将区域设置设置为日语,时钟将正确设置为 24 小时制。但日历仍设置为 GregorianCalendar。

这是一个错误还是有不同的方法来设置日历以便我可以正确检索 GlobalizationPreferences.Calendar?

我能够解决这个问题。

不知怎么的,虽然我已经在控制面板中设置了区域设置和语言设置(例如:日语),但datepicker.Language和timepicker.Language仍然使用原来的Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride放。 尽管我将控件(日期选择器和时间选择器)中的语言设置为日语。

所以我所做的是,在应用程序启动时,app.xaml.cs,我设置了 Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride 这是一个空字符串,现在它遵循我在语言设置和区域设置中设置的设置。