WPF绑定StringFormat不会改变输出[重复]
Posted
技术标签:
【中文标题】WPF绑定StringFormat不会改变输出[重复]【英文标题】:WPF Binding StringFormat doesn't change the output [duplicate] 【发布时间】:2017-03-03 08:39:33 【问题描述】:我正在使用 C# 和 .NET Framework 4.6.1 开发 WPF。
我有这个数字 1010,我想把它显示为 1.010(我是西班牙人)。
为此,我修改了 XAML:
<Label x:Name="labelCounterCamera" Margin="5,2"
Content="Binding CounterCamera, StringFormat=N0" />
但它显示的数字没有格式:1010。
CounterCamera
是:
public uint CounterCamera
get return counterCamera;
set
if (!value.Equals(counterCamera))
counterCamera = value;
RaisePropertyChangedEvent("CounterCamera");
为什么 StringFormat 不起作用?我做错了什么?
【问题讨论】:
Label 内容的格式化需要另一种方法:***.com/questions/4206612/… 似乎StringFormat
仅在TargetType
的类型为string
时才有效,这里Content
属性的类型为object
我猜。
你需要转义字符串,所以:StringFormat=0:N
.
【参考方案1】:
使用标签时必须使用 ContentStringformat
<Label x:Name="labelCounterCamera" Margin="5,2"
Content="Binding CounterCamera"
ContentStringFormat="0:N" />
【讨论】:
【参考方案2】:尝试在占位符标记内移动格式字符串。
Content="Binding CounterCamera, StringFormat=0:N"
0:N
而不是N0
【讨论】:
不,它不能编译。 您需要使用 StringFormat=0:N 进行转义 @apc 现在,它可以编译,但我没有得到任何格式。 检查即时窗口输出是否有错误,这应该使用 TextBlock 但是我不确定标签,所以请参阅blindmeis 答案以上是关于WPF绑定StringFormat不会改变输出[重复]的主要内容,如果未能解决你的问题,请参考以下文章
WPF - 从 XAML 中的 StringFormat 绑定属性访问属性值
WPF 与 StringFormat 的绑定在 ToolTips 上不起作用
wpf Content数据绑定StringFormat起作用的原理和解决