WPF StringFormat负值问题

时间:2012-06-05 17:38:47

标签: wpf string-formatting

我在WPF绑定中使用以下格式字符串:

StringFormat={}{0:Gain: 0 dB}

当界限值变为负数时,我得到:

-Gain: 1234 dB

我想要的输出是“增益:-1234 dB”。有人可以告诉我我做错了什么,也许有一些使用这些格式字符串的经验法则吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

StringFormat='Gain: {0} dB'

如果在您的情况下它不适用,您也可以在没有撇号的情况下尝试。

对于更复杂的情况,您还可以考虑实现IValueConverter类以在绑定中使用。

答案 1 :(得分:0)

您的参数位于格式字符串的前面。将它移到中间,您将获得所需的结果:

更改:StringFormat = {} {0:增益:0 dB}

To:StringFormat =增益:{0} dB

因此,假设您的属性名为MyInt with mode = OneWay,如果您绑定到TextBlock,这就是完整绑定的样子

<TextBlock Text="{Binding Path=MyInt, StringFormat=Gain: {0} dB, Mode=OneWay}" />