首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF: double值上的StringFormat无法识别自定义窗口区域设置

WPF: double值上的StringFormat无法识别自定义窗口区域设置
EN

Stack Overflow用户
提问于 2018-04-30 15:55:18
回答 1查看 156关注 0票数 0

在我的应用程序中,我将标签、文本块等绑定到视图模型中的双精度值。

代码语言:javascript
运行
复制
<Label Content="{Binding DoubleValue}" ContentStringFormat="{}{0:0.00}">
<TextBlock Text="{Binding DoubleValue, StringFormat='\{0:f2\}'}"

在我的“代码隐藏”中,我设置了MainWindow的语言属性:

代码语言:javascript
运行
复制
TheMainWindow.Language = XmlLanguage.GetLanguage(CultureInfo.CurrentUICulture.Name);

这就像一个护身符。选择德国区域性时,所有双精度值都使用逗号作为小数符号;选择英语区域性时,所有双精度值都使用点作为小数符号。

问题是当您自定义窗口区域设置时,例如,我将德国reagion设置配置为有一个点作为小数分隔符。

StringFormat方法无法识别此自定义设置!它仍然使用逗号将双精度值格式化为十进制符号。

如果我在视图模型中创建一个字符串属性,如下所示

代码语言:javascript
运行
复制
public string FormattedDoubleValue
{
        get { return DoubleValue.ToString("0.00"); }
}

并绑定到此属性,这将识别自定义区域设置!

有没有办法让StringFormat方法识别自定义区域设置?

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 16:22:25

我在这里找到了一个解决方案:CurrentUICulture ignores Region and Language settings

使用MSkuta的答案可以在不更改所有xaml文件的情况下工作:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50096211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档