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 回答