8

私が1234567.89という番号を持っているとしましょう。番号はWPFTextBlockに表示されます。番号が次のように表示されるようStringFormatに、プロパティに属性を適用しようとしています。Text

1.234.567,89

ご覧のとおり、1000と小数点の区切り文字は不変のカルチャ仕様から逆になっています。

の組み合わせをたくさん設定してみましたがStringFormat、うまくいきませんでした。これは私が思いついた最新のものです:

Text="{Binding SomeBinding, StringFormat={}{0:#'.'##0','00}}"

しかし、出力は正しくありません。また、N2文化を使用または変更することはできません。できればコンバーターは避けたいです。

では、XAMLを使用してデフォルトの区切り文字を変更する方法はありますか?

4

1 に答える 1

12

文化を変える必要はありません。String.Format指定されたカルチャで使用するだけです(de-DEで問題ありません):

string output = String.Format(new CultureInfo("de-DE"), "{0:N}", yourDoubleValue);

出力:9.164,32

XAMLでそれを実行したい場合は、次のことを試すことができます。

Text="{Binding SomeBinding, StringFormat={}{0:N}, ConverterCulture=de-DE}"
于 2013-02-21T10:57:12.690 に答える