【问题标题】:WPF StringFormat negative value issueWPF StringFormat 负值问题
【发布时间】:2012-06-05 17:38:46
【问题描述】:

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

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

当边界值为负时,我得到:

-Gain: 1234 dB

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

【问题讨论】:

  • 应该是Gain: -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}" />
    

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 2018-03-12
      • 2011-03-11
      • 2012-04-02
      • 2019-01-15
      相关资源
      最近更新 更多