c# – 使用StringFormat格式化WPF标签
发布时间:2020-12-15 18:36:21 所属栏目:百科 来源:网络整理
导读:我有一个 WPF应用程序.我有一些标签和一些数据网格绑定到一些公共属性.其中一些属性是数值. 在datagrids中,我一直在使用下面的行来确保这些值只显示两个小数位,这是有效的.但是,当我使用下面相同的行作为我的标签时,它似乎对显示没有影响,因为数字显示为大约
我有一个
WPF应用程序.我有一些标签和一些数据网格绑定到一些公共属性.其中一些属性是数值.
在datagrids中,我一直在使用下面的行来确保这些值只显示两个小数位,这是有效的.但是,当我使用下面相同的行作为我的标签时,它似乎对显示没有影响,因为数字显示为大约9位小数.我不明白为什么它适用于datagrid但不适用于标签? StringFormat={}{0:0.##} <Label Grid.Row="3" Grid.Column="1" Content="{Binding Obs.Tstat,StringFormat={}{0:0.#}}" HorizontalAlignment="Center" Foreground="{StaticResource brushLinFont}" FontSize="13" FontWeight="Bold"/> 更新的代码 <Label Grid.Row="3" Grid.Column="1" Content="{Binding Obs.Tstat}" ContentStringFormat="{}{0:0.#}}" HorizontalAlignment="Center" Foreground="{StaticResource brushLinFont}" FontSize="13" FontWeight="Bold"/> 解决方法
对于标签,您需要使用
ContentStringFormat:
<Label Content="{Binding Obs.Tstat}" ContentStringFormat="{}{0:0.##}"/> 原因: Label的Content属性是object类型,StringFormat仅在绑定属性为String类型时使用. 如果您使用TextBlock的Text属性尝试代码,它将适用于StringFormat,因为Text属性的类型为string. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |