2017-02-20 87 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