2

WPFバインディングで次のフォーマット文字列を使用しています。

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

そして、バインドされた値が負になると、次のようになります。

-Gain: 1234 dB

私の希望する出力は「ゲイン:-1234dB」です。誰かが私が間違っていることを教えてもらえますか、そしておそらくこれらのフォーマット文字列を使用するための経験則がいくつかありますか?

4

2 に答える 2

1

これを試して:

StringFormat='Gain: {0} dB'

あなたのケースでアポストロフィを使用しても機能しない場合は、アポストロフィなしで試すこともできます。

IValueConverterより複雑なケースでは、バインディングで使用するクラスを実装することも検討できます。

于 2012-06-05T19:06:02.877 に答える
0

引数はフォーマット文字列の前にあります。それを真ん中に移動すると、望ましい結果が得られます。

変更: StringFormat={}{0:ゲイン: 0 dB}

To: StringFormat=Gain: {0} dB

したがって、プロパティがモード = OneWay の MyInt と呼ばれているとしましょう。TextBlock にバインドする場合、完全なバインドは次のようになります。

<TextBlock Text="{Binding Path=MyInt, StringFormat=Gain: {0} dB, Mode=OneWay}" />
于 2012-06-05T19:38:04.447 に答える