10

私はしばらくこの問題と戦ってきましたが、具体的な回避策を思いつくことができないようです.10進数にバインドされたTextBoxがあり、バインディングにはUpdateSourceTriggerがPropertyChangedに設定されており、必然的にそうです(この場合、LostFocus はうまく機能しません)。デフォルトの動作は何らかの形で説明可能であると確信していますが、私の目的には受け入れられないため、次の StringFormat を試しました。私の最初の修正は、バインディングに文字列形式を追加することでした...私の場合は

StringFormat={0:#.#####} 

したがって、.12345 または 1.5 のようなものを入力すると、解決策はうまく機能しますが、.01234 と入力すると、ゼロ キーを押すとすぐに、入力したばかりの 10 進数が削除されます。データ入力の。文字列の書式設定に慣れていないことを願っています。最悪のシナリオでは、公開されたプロパティを文字列にし、セッターとゲッターを 10 進数に変換するだけですが、それはハッキーなソリューションのようです。

ありがとう!

アジ

4

2 に答える 2

0

目的を達成するには、次の 2 つの簡単な選択肢があります。

  1. 最初に「0」を入力してみてください...「0.01234」と入力しても問題ありません。

  2. 代わりに使用してくださいStringFormat={}{0:0.00000}...その後、問題なく「.01234」を入力できます。

于 2013-07-31T08:15:03.740 に答える