Csharp/C#教程:使用StringFormat的WPF格式标签分享


使用StringFormat的WPF格式标签

我有一个WPF应用程序。 我有一些标签和一些数据网格绑定到一些公共属性。 其中一些属性是数值。

在datagrids中,我一直在使用下面的行来确保值只显示两个小数位,这是有效的。 但是,当我使用下面的同一行作为我的标签时,它似乎对显示没有影响,因为数字显示为大约9位小数。 我不明白为什么它适用于datagrid但不适用于标签?

StringFormat={}{0:0.##}  

更新的代码

   

对于label,您需要使用ContentStringFormat

  

原因

Label的Content属性是object类型, StringFormat仅在绑定属性为String类型时使用。

如果您使用TextBlock的Text属性尝试代码,它将与StringFormat因为Text属性的类型为string。

只是一个快速添加我想沿着这些线发布以防其他任何人进入它…我的应用程序使用本地化,因为它有多国支持,但我们也支持用户的系统设置。 我们注意到ContentStringFormat默认为您的UI文化。

这导致我们的一种forms出现问题,即在指定ContentStringFormat时,用户在Windows设置中配置的机器特定小数位不受尊重。

由于ContentPresenter只是采用字符串格式而没有通常在绑定中指定的转换器文化,这意味着如果英语是我当前的UI文化,则说: 0:N的格式将只返回两位小数, 即使我有5在我的Windows设置上指定的小数

在我们的例子中,我们应用了一些绑定覆盖来解决这个问题,但主要是想添加这些额外的信息以防其他人运行它;)

上述就是C#学习教程:使用StringFormat的WPF格式标签分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1015550.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐