10

WPF 4.0 DataGrids にバグがあるようです。

私はIDataErrorInfo自分のオブジェクトに実装していますがObservableCollection、データグリッドがバインドする があります。列にはValidatesOnDataErrors=True設定しましたが、行には何も設定していません。私は持っているUpdateSourceTrigger="PropertyChanged"

検証は、セルごとに完全に機能します。ただし、セルを無効のままにし、他のセルに移動してから無効なセルに戻り、有効なデータを入力すると、セルは有効になりますが、行は有効なはずですが、無効なままになります。

4

2 に答える 2

4

一般的なプロパティの検証では、ソースが更新されると検証されますが、 の場合はRowValidationを指定してRowValidationRule を実行する必要がありますRowValidation

 <DataGrid.RowValidationRules>
       <DataErrorValidationRule ValidatesOnTargetUpdated="True" ValidationStep="UpdatedValue" />
 </DataGrid.RowValidationRules>

これで、行の検証が行われ、カスタム形式でエラーを表示DataGridするために を提供できるようになりました。RowValidationErrorTemplate

于 2014-01-29T14:28:21.860 に答える
0

同じ問題がありました。私にとっての修正はValidatesOnTargetUpdated="True"、コントロールが更新されるたびに別の検証を強制するように見える検証ルールの設定でした。

于 2014-07-17T19:23:41.437 に答える