1

私は WPF と C# を使用しており、一連の数字 (通貨や数値ではない)StringFormatTextBlock.

例: 456321789(文字列)

などで見せTextBlockたい456 321 789

この例は機能しません:

<TextBlock Text="{Binding Number, StringFormat=000 000 000"/>

<TextBlock Text="{Binding Number, StringFormat=### ### ###"/>

<TextBlock Text="{Binding Number, StringFormat={}{0:000 000 000}"/>

<TextBlock Text="{Binding Number, StringFormat={}{0:### ### ###}"/>

少し前に、 のような 7 桁のセットをフォーマットしようとしました5432-123。そして、私は成功しませんでした。

私は多くの例を試しましたが、動作に注意してください。私が間違っていることは何ですか?

注:これを達成できる唯一の方法は、数字のセットを整数として持っている場合です。しかし、文字列でそれができない理由を理解したいと思います。

前もって感謝します!

4

1 に答える 1

2

ドキュメントによると、使用している文字列形式は整数にのみ適用されます。したがって、目的のフォーマットを取得するには、数値にバインドする必要があります。文字列ではありません。

少し考えてみると、その背後には理由があります。数字のグループ化などの書式設定は、数字に対してのみ興味深いものであり、「helloworld」などの一般的な文字列には興味深いものではありません。そのため、一般的な文字列にそのような形式を実装することを誰も気にしませんでした。

そのために残念。

(質問はさておき: データが数値の文字列表現であることが保証されている場合、値を then として保持しないのはなぜintですか?)

于 2012-09-10T10:49:44.400 に答える