DataGrid.RowValidationRules Eigenschaft

Definition

Ruft die Regeln ab, die zur Überprüfung der Daten in jeder Zeile verwendet werden.Gets the rules that are used to validate the data in each row.

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)

Eigenschaftswert

Die Regeln, die verwendet werden, um die Daten in jeder Zeile zu überprüfen.The rules that are used to validate the data in each row.

Beispiele

Im folgenden Beispiel wird eine ValidationRule veranschaulicht, die überprüft StartDate , ob der- Course Eigenschafts Wert für ein EndDate -Objekt vor dem-Eigenschafts Wert liegt.The following example demonstrates a ValidationRule that checks whether the StartDate property value for a Course object is earlier than its EndDate property value. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Vorgehensweise: Implementieren Sie die Validierung mit dem Thema DataGrid-Steuer Element.This code example is part of a larger example provided for the How to: Implement Validation with the DataGrid Control topic.

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

Im folgenden Beispiel wird die RowValidationRules -Eigenschaft in XAML festgelegt.The following example sets the RowValidationRules property in XAML. Die ValidationStep -Eigenschaft ist auf UpdatedValue festgelegt, sodass die Überprüfung erst erfolgt, nachdem das gebundene Datenobjekt aktualisiert wurde.The ValidationStep property is set to UpdatedValue so that the validation occurs only after the bound data object is updated. Wenn ein Benutzer ein Enddatum angibt, das vor dem Startdatum liegt, wird ein rotes Ausrufezeichen (!) im Zeilen Header angezeigt.When a user specifies an end date that is earlier than the start date, a red exclamation mark (!) appears in the row header.

<DataGrid.RowValidationRules>
  <local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>

Hinweise

Das DataGrid -Steuerelement ermöglicht es Ihnen, sowohl auf der Zelle als auch auf der Zeilenebene eine Validierung auszuführen.The DataGrid control enables you to perform validation at both the cell and row level. Bei der Überprüfung auf Zellen Ebene überprüfen Sie einzelne Eigenschaften eines gebundenen Datenobjekts, wenn ein Benutzer einen Wert aktualisiert.With cell-level validation, you validate individual properties of a bound data object when a user updates a value. Bei der Validierung auf Zeilenebene überprüfen Sie die gesamten Datenobjekte, wenn ein Benutzer Änderungen an einer Zeile ausführt.With row-level validation, you validate entire data objects when a user commits changes to a row. Erstellen Sie zum Erstellen einer benutzerdefinierten Validierungs Regel eine Klasse, die von ValidationRule der-Klasse abgeleitet Validate wird, und implementieren Sie die-Methode.To create a custom validation rule, create a class that derives from the ValidationRule class and implement the Validate method. Fügen Sie die benutzerdefinierte Validierungs Regel RowValidationRules der Auflistung hinzu.Add the custom validation rule to the RowValidationRules collection.

Wenn die ItemBindingGroup -Eigenschaft verwendet wird, RowValidationRules wird die-Eigenschaft ignoriert.If the ItemBindingGroup property is used, the RowValidationRules property is ignored.

Gilt für:

Siehe auch