DataGrid.RowValidationRules 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
각 행에 있는 데이터의 유효성을 검사하는 데 사용되는 규칙을 가져옵니다.
public:
property System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ RowValidationRules { System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ get(); };
public System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule> RowValidationRules { get; }
member this.RowValidationRules : System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule>
Public ReadOnly Property RowValidationRules As ObservableCollection(Of ValidationRule)
속성 값
각 행에 있는 데이터 유효성 검사에 사용되는 규칙입니다.
예제
다음 예에서는 개체의 StartDate
속성 값이 해당 속성 값보다 EndDate
이전인지 여부를 확인하는 를 Course
보여 ValidationRule 줍니다. 이 코드 예제는 방법: DataGrid 컨트롤을 사용하여 유효성 검사 구현 항목에 제공된 더 큰 예제의 일부입니다.
public class CourseValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
Course course = (value as BindingGroup).Items[0] as Course;
if (course.StartDate > course.EndDate)
{
return new ValidationResult(false,
"Start Date must be earlier than End Date.");
}
else
{
return ValidationResult.ValidResult;
}
}
}
Public Class CourseValidationRule
Inherits ValidationRule
Public Overrides Function Validate(ByVal value As Object, _
ByVal cultureInfo As System.Globalization.CultureInfo) _
As ValidationResult
Dim course As Course = _
CType(CType(value, BindingGroup).Items(0), Course)
If course.StartDate > course.EndDate Then
Return New ValidationResult(False, _
"Start Date must be earlier than End Date.")
Else
Return ValidationResult.ValidResult
End If
End Function
End Class
다음 예제에서는 XAML에서 RowValidationRules 속성을 설정합니다. 바인딩된 데이터 개체가 업데이트된 후에만 유효성 검사가 수행되도록 ValidationStep 속성이 UpdatedValue로 설정됩니다. 사용자가 종료 날짜를 시작 날짜 이전으로 지정하면 행 머리글에 빨간색 느낌표(!)가 나타납니다.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
설명
이 DataGrid 컨트롤을 사용하면 셀과 행 수준 모두에서 유효성 검사를 수행할 수 있습니다. 셀 수준 유효성 검사를 사용하면 사용자가 값을 업데이트할 때 바인딩된 데이터 개체의 개별 속성 유효성을 검사합니다. 행 수준 유효성 검사를 사용하면 사용자가 행에 변경 사항을 커밋할 때 전체 데이터 개체의 유효성을 검사합니다. 사용자 지정 유효성 검사 규칙을 만들려면 클래스에서 파생되는 클래스를 ValidationRule 만들고 메서드를 구현합니다 Validate . 컬렉션에 사용자 지정 유효성 검사 규칙을 추가합니다 RowValidationRules .
사용 되는 ItemBindingGroup 경우는 속성이 RowValidationRules 무시됩니다.
적용 대상
추가 정보
.NET