0

私は WPF を持っていDataGridます。次のように、ユーザーが特定の列に入力できる値を制限したいと考えています。

列 A の値は増加するだけです (新しい値 > 古い値)。

列 B の値は減少するだけです (新しい値 < 古い値)。

ユーザーが入力した値が無効な場合は、以前の有効な値に戻したいです。

カスタムでこれができるかもしれないと思ったのですがValidationRule、関数からセルの前の値にアクセスする方法がわかりませんValidate()

助けていただければ幸いです!

4

1 に答える 1

0

ビジネス層でこのロジックを実行する必要があります。これにより、キーストロークごとに値が更新UpdateSourceTriggerされるため、設定していないことを確認してください。PropertyChanged値が 9 で、ユーザーが 10 を入力した場合、ユーザーが 1 を入力すると更新が行われます。これは 9 未満になり、値が 9 にリセットされます。

より良い解決策は、フィールドに無効のフラグを付け (オブジェクトにバインドしている場合は簡単です)、ユーザーが入力した内容を変更するだけでなく、エントリが無効であることをユーザーに示すことです。場合によっては、1文字だけで入力を有効にするために変更したい場合があります。

于 2010-02-03T22:50:32.823 に答える