2012-12-21 2 views
10

WPF 4.0 DataGrid에 버그가있는 것 같습니다.WPF Datagrid 행 유효성 검사

내 개체에 IDataErrorInfo을 구현 중이며 데이터 격자가 바인딩하는 ObservableCollection이 있습니다. ValidatesOnDataErrors=True은 열에 설정되었지만 행에는 아무 것도 설정되어 있지 않습니다. 나는 가지고있다 UpdateSourceTrigger="PropertyChanged"

유효성 검사는 세포 수준에 세포에 완전하게 작동한다. 그러나 셀을 유효하지 않은 상태로두고 다른 셀로 이동 한 다음 유효하지 않은 셀로 돌아가 유효한 데이터를 입력하면 셀은 유효하지만 행이 유효해야 유효하지 않습니다.

+0

나는 똑같은 문제가 있습니다! – Reilly

+0

"그러나 셀을 유효하지 않은 상태로두고 다른 셀로 이동 한 다음 유효하지 않은 셀로 돌아가 유효한 데이터를 입력하면 셀은 유효하지만 행이 유효해야 유효하지 않습니다." 똑같은 문제. – SKINDER

+1

나무 친구들, 동일한 wpf 문제와 아무도 아직 코드를 게시하지 않았습니다. 그것은 어쨌든 영화의 나쁜 제목이 될 것입니다. : D 여러분 중 누군가가 일부 코드 또는 xaml을 게시 할 생각이 있습니까? –

답변

2

일반적으로 속성 유효성 검사에서 소스가 업데이트되면 유효성이 검사되지만 RowValidation의 경우 RowValidation을 수행하려면 RowValidationRule을 지정해야합니다.

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

이제 DataGrid 또한 사용자 정의 형식의 오류를 보여주기 위해 RowValidationErrorTemplate를 제공 할 수있는 행에 대한 유효성을 검사합니다.

0

같은 문제가있었습니다. 나를 위해 수정 ValidatesOnTargetUpdated="True" 컨트롤을 업데이트 할 때마다 다른 유효성 검사가 강제로 것으로 보이는 유효성 검사 규칙을 설정했습니다.