【问题标题】:WPF StringFormat negative value issueWPF StringFormat 负值问题
【发布时间】:2012-06-05 17:38:46
【问题描述】:
我在 WPF 绑定中使用以下格式字符串:
StringFormat={}{0:Gain: 0 dB}
当边界值为负时,我得到:
-Gain: 1234 dB
我想要的输出是“增益:-1234 dB”。有人可以告诉我我做错了什么,也许还有一些使用这些格式字符串的经验法则?
【问题讨论】:
标签:
wpf
string-formatting
【解决方案1】:
试试这个:
StringFormat='Gain: {0} dB'
如果在您的情况下不适用于撇号,您也可以尝试不带撇号。
对于更复杂的情况,也可以考虑实现IValueConverter类在绑定中使用。
【解决方案2】:
您的参数位于格式字符串的前面。把它移到中间,你就会得到想要的结果:
更改:StringFormat={}{0:Gain: 0 dB}
至:StringFormat=增益:{0} dB
假设您的属性名为 MyInt,mode = OneWay,如果您在哪里绑定到 TextBlock,这就是完整绑定的样子
<TextBlock Text="{Binding Path=MyInt, StringFormat=Gain: {0} dB, Mode=OneWay}" />