WPFバインディングで次のフォーマット文字列を使用しています。
StringFormat={}{0:Gain: 0 dB}
そして、バインドされた値が負になると、次のようになります。
-Gain: 1234 dB
私の希望する出力は「ゲイン:-1234dB」です。誰かが私が間違っていることを教えてもらえますか、そしておそらくこれらのフォーマット文字列を使用するための経験則がいくつかありますか?
WPFバインディングで次のフォーマット文字列を使用しています。
StringFormat={}{0:Gain: 0 dB}
そして、バインドされた値が負になると、次のようになります。
-Gain: 1234 dB
私の希望する出力は「ゲイン:-1234dB」です。誰かが私が間違っていることを教えてもらえますか、そしておそらくこれらのフォーマット文字列を使用するための経験則がいくつかありますか?
これを試して:
StringFormat='Gain: {0} dB'
あなたのケースでアポストロフィを使用しても機能しない場合は、アポストロフィなしで試すこともできます。
IValueConverter
より複雑なケースでは、バインディングで使用するクラスを実装することも検討できます。
引数はフォーマット文字列の前にあります。それを真ん中に移動すると、望ましい結果が得られます。
変更: StringFormat={}{0:ゲイン: 0 dB}
To: StringFormat=Gain: {0} dB
したがって、プロパティがモード = OneWay の MyInt と呼ばれているとしましょう。TextBlock にバインドする場合、完全なバインドは次のようになります。
<TextBlock Text="{Binding Path=MyInt, StringFormat=Gain: {0} dB, Mode=OneWay}" />