2010-05-21 5 views
1

우리는 MVVM을 사용하여 WPF 비즈니스 응용 프로그램을 구현하고 있습니다. 현재 우리는 DataGrid의 유효성 검사 오류를 표시하는 가장 좋은 방법을 결정하려고합니다. 현재 우리는 다음과 같이 그렇게하려고 :WPF DataGrid - 유효성 검사 권장 사항

1) 사용자 정보보기 제어는 관련 뷰 모델

2)의 ViewModel은 IDataErrorInfo 인터페이스를 implments에있는 엔티티 프레임 워크 객체의 EntityCollection에 바인딩 된 데이터 그리드가 포함되어 있습니다. 뷰 모델에서 IDataErrorInfo.Item

3) IDataErrorInfo.Item 어떤 검증이

이 작품을 문제가 있는지 확인하기 위해 기본 모델에서 유효성 검사를 호출 구현하는 속성을 구현하기위한 속성을 포함하여 일반적인 특성이있다 모든 텍스트 상자 또는보기에 콤보 상자에 대한 - validatiosn 예상대로 처리되고 있습니다. 하지만 DataGrid를 사용하여 우리는 어려움을 겪었습니다. 우리가 시도한 것에 관계없이 유효성 검사는 발생하지 않습니다. 현재 다음과 같이 정의되어 있습니다.

<DataGrid x:Name="dgWikiNames" ItemsSource="{Binding Wiki_Names, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnSourceUpdated=True}" AutoGenerateColumns="False"> 
         <DataGrid.RowValidationRules> 
          <DataErrorValidationRule ValidationStep="UpdatedValue"/>        
         </DataGrid.RowValidationRules> 
         <DataGrid.Columns> 
          <DataGridTextColumn Header="First Name"> 
           <DataGridTextColumn.Binding> 
            <Binding Path="First_Name" ValidatesOnDataErrors="True"> 
             <Binding.ValidationRules> 
              <DataErrorValidationRule/> 
              <!--<local:CellDataInfoValidationRule ValidationStep="UpdatedValue"/>--> 
             </Binding.ValidationRules> 
            </Binding> 
           </DataGridTextColumn.Binding> 
          </DataGridTextColumn> 
          <DataGridTextColumn Header="Is Primary" Binding="{Binding Primary_Flag}"/> 
         </DataGrid.Columns> 
        </DataGrid> 

누구나 조언이나 권장 사항이 있으면 알려 주시면 감사하겠습니다. 감사

답변

1

은 바인딩에 다음을 추가

ValidatesOnDataErrors="True" NotifyOnValidationError="True"