【问题标题】:WPF double valued data binding with custom decimal separator带有自定义小数分隔符的 WPF 双值数据绑定
【发布时间】:2011-04-26 10:29:13
【问题描述】:

是否有一种集中方式让 WPF UI 尊重在控制面板 -> 区域设置中设置的自定义小数分隔符?

当我将双值数据绑定到文本框时,我想使用区域设置中设置的小数分隔符输入值。

下面的代码(当放在 App 的 ctor 中时)将使用当前区域性设置的小数分隔符,但不会尊重自定义的小数分隔符设置。我希望这段代码可以以某种方式轻松扩展以覆盖自定义的小数分隔符。

FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
             new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

【问题讨论】:

  • 似乎这是MS Connect 中公认的问题。如果您认为这是一个重要问题,请去投票。

标签: wpf data-binding internationalization globalization cultureinfo


【解决方案1】:

您是否尝试在绑定中使用StringFormat

【讨论】:

  • 是的,我有,但自定义的小数点分隔符设置也不能从带有 StringFormat 的区域设置中使用。
  • 太糟糕了 :( 您可以使用 ConverterCulture 使用 StringFormat 中的设置,但我看不出如何将其设置为当前文化。
  • 你为什么不使用使用当前文化的特殊转换器?
【解决方案2】:

可能有点晚了,但我在研究自己的格式化问题时发现了this

“CultureInfo.UseUserOverride”这个名字很容易解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多