2

数字を入力すると、それ自体が自動フォーマットされる方法で私を狂わせている TextBox があります。

たとえば、-0.00004 と入力したいのですが、入力すると、最初の0.

次に、-.00004 を試してみました。これは、入力時にマイナス記号を削除しません.が、押すとすぐにand を0削除します。-.

TextBox を動作させることができた唯一の方法は、0.00004最初に入力し4E-05、次に自動フォーマットしてから、前にマイナス記号を追加することです。または-4E-5、 を入力すると、 に自動フォーマットされます-4E-05。これは問題ありませんが、 を入力-4E-05するEと、 を押すとすぐに削除され0ます。

私が望んでいるのは、何らかの組み込みプロパティを使用してこの動作を無効にする方法ですが、それが存在しない場合は、書くことIValueConverterが私の唯一の選択肢かもしれません。

4

1 に答える 1

1

自動フォーマットを回避する 1 つの方法はIValueConverter、バインドされた double プロパティを使用することです。Convertdouble から文字列に変換するメソッドと、文字列から double に変換するメソッドにロジックを追加する必要がありますConvertBack。例を含むMSDNの記事を次に示します。

<TextBox Text="{Binding Number, Converter={StaticResource NumToStrConverter}}"/>

別の方法はStringFormat、表示する小数点以下の桁数を持つ数値に Binding を設定することです。その他のフォーマットについてはこちらをご覧ください。

<TextBox Text={Binding Number, StringFormat=N10}"/>
于 2012-09-18T17:51:28.247 に答える