我有一个WPF4应用程序。
我将UI控件绑定到DateTimeOffSet值。 例如文本块
<TextBlock Text="{Binding Due.LocalDateTime,StringFormat='{}{0:dd MMM HH:mm}'}"/>
但我想要一种文化意识的价值展示。 因此,例如在德国,有24小时代表,在美国有AM / PM代表。
实现这一目标的最佳/最聪明的方法是什么? 我需要一个covnerter吗?或者有没有办法在xaml中表示这个? 此外,日期字段的顺序也不同,等等......
答案 0 :(得分:3)
这里有一些可疑的“按设计”行为的解决方法:
要准确复制用户在“区域设置”控制面板小程序中选择的自定义设置很难,但通过设置xml:lang属性,通用的区域设置特定设置非常简单。
例如,您可以在顶级窗口元素中添加类似这样的内容,例如:
Language="{Binding Source={x:Static Globalization:CultureInfo.CurrentCulture}, Path=IetfLanguageTag,Mode=OneTime}"
同样,我必须强调,这并不完美,因为用户选择的任何自定义显示首选项都将被忽略。