数値をフォーマットするバリューコンバータがあります(残念ながらSP1は使用できません)。パーセンテージが得られるまでうまく動作します。 Double.ToString
はパーセント文字を見たときに番号が既に割合で、それは私の場合は100で数を乗算し、私にとっては残念ながらXAMLマークアップ拡張プロパティリテラルの一重引用符をエスケープするにはどうすればよいですか?
<TextBlock Text="{Binding Path=PercentageComplete,
Converter={StaticResource NumberFormatter},
ConverterParameter='0.00 %'}" />
と変換は必要ありません:
は、ここでの例です。
C#では、これは単一引用符で%
文字をエスケープすることにより達成されるであろうが:
(99.99).ToString("0.00 %") // gives -> "9999 %"
(99.99).ToString("0.00 '%") // gives -> "99.99 %"
残念ながら、私は上記のXAMLのマークアップ拡張機能でConverterParameter
で単一引用符を使用することはできません。それをエスケープする方法はありますか?一重引用符を倍にしてバックスラッシュを使用しようとしましたが、どちらもコンパイルに失敗しました。
素晴らしい。魅力のように動作しますが、私はこの変種も好きですが、私はあなたの提案の後に試してみました: 'ConverterParameter = '0.00 "%''。どうもありがとう。 –
また、私が言及した変種は、たとえそれがうまくコンパイルされても、VSが後続のコードを赤でマークすることはないことを指摘しておく価値があります。 –
皮肉なことに私は似たようなことをしていましたが、他の方法でうまくいくと思っていましたので、それを変更しました:) –