【发布时间】:2014-05-04 11:27:10
【问题描述】:
WPF 控件似乎没有.Cultureproperty,或任何其他明显的控制文本本地化方式的方式。更糟糕的是,在我的测试机器上,它甚至不尊重系统语言环境。我的应用程序需要为德国人工作,因此测试机器运行德语版本的 windows 并且 C# 尊重这一点。因此
String.Format('{0}', 3.5) == "3,5"
但如果我将本地化留给 WPF,例如通过将数字属性直接绑定到标签或数据网格单元格,我看到了某种美式格式。因此,如果我将3.5 格式化为货币,那么我会在屏幕上看到$3.50。
所以:
- 为什么 WPF 使用错误的语言环境?
- 如何解决?
理想情况下,“修复”意味着默认情况下使其尊重系统区域设置,同时让我明确控制特定事物。因此,如果我在澳大利亚 PC 上打开一张德国发票,理想的情况是价格看起来像 €3.50。
【问题讨论】:
-
你能提供一些你的绑定代码吗?通常它应该使用
CultureInfo.CurrentUICulture。那输出什么? -
@ZoolWay,显然不是(见 Henk 的回答)。我的
CurrentUICulture和CurrentCulture都是德国人。去图吧。