DataGrid.RowValidationRules Property

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets the rules that are used to validate the data in each row.

Namespace:   System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

member RowValidationRules : ObservableCollection<ValidationRule> with get

Property Value

Type: System.Collections.ObjectModel.ObservableCollection<ValidationRule>

The rules that are used to validate the data in each row.

The DataGrid control enables you to perform validation at both the cell and row level. With cell-level validation, you validate individual properties of a bound data object when a user updates a value. With row-level validation, you validate entire data objects when a user commits changes to a row. To create a custom validation rule, create a class that derives from the ValidationRule class and implement the Validate method. Add the custom validation rule to the RowValidationRules collection.

If the ItemBindingGroup property is used, the RowValidationRules property is ignored.

The following example demonstrates a ValidationRule that checks whether the StartDate property value for a Course object is earlier than its EndDate property value. This code example is part of a larger example provided for the How to: Implement Validation with the DataGrid Control topic.

No code example is currently available or this language may not be supported.

The following example sets the RowValidationRules property in XAML. The ValidationStep property is set to UpdatedValue so that the validation occurs only after the bound data object is updated. When a user specifies an end date that is earlier than the start date, a red exclamation mark (!) appears in the row header.

  <local:CourseValidationRule ValidationStep="UpdatedValue"/>

.NET Framework
Available since 4.0
Return to top