1

TextBoxesWPF プロジェクトで使用するカスタム検証ルールを実装しました。次の問題があります。

たとえば、double 値を入力するためのテキスト ボックスがある場合、検証エラーの後で (たとえば、「30.0」と入力すると、テキストが「30」のときに検証エラーが発生する必要があります)、検証/バインド メカニズムは整数の double 表現を変換します。 ("30.0") を int 表現 ("30") に変換します。検証ルールを保持し、常に ValidationResult.ValidResult を返すか、検証ルールを削除すると、値は変更されず、「30.0」のままになります。

どうすれば修正/回避できますか?

4

1 に答える 1

1

バインディングが起動するタイミングを制御できます。キーストロークごとに発生すると、説明したように、無効な中間30.ケースに問題が発生します。

UpdateSourceTrigger=LostFocusBinding への追加を検討することをお勧めします。

ここにいくつかの詳細情報があります: http://msdn.microsoft.com/en-us/library/ms754356.aspx

于 2012-12-04T16:11:40.470 に答える