DataGrid.RowValidationRules Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Regeln ab, die zum Überprüfen der Daten in jeder Zeile verwendet werden.
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, mit denen die Daten in jeder Zeile überprüft werden.
Beispiele
Das folgende Beispiel veranschaulicht eine ValidationRule Überprüfung, ob der StartDate Eigenschaftswert für ein Course Objekt vor dem Eigenschaftswert liegt EndDate . Dieses Codebeispiel ist Teil eines größeren Beispiels, das für das Thema "How to: Implement Validation with the DataGrid Control " bereitgestellt wird.
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. Die ValidationStep Eigenschaft wird so festgelegt UpdatedValue , dass die Überprüfung erst auftritt, nachdem das gebundene Datenobjekt aktualisiert wurde. Wenn ein Benutzer ein Enddatum angibt, das vor dem Startdatum liegt, wird in der Zeilenüberschrift ein rotes Ausrufezeichen (!) angezeigt.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
Hinweise
Mit dem DataGrid Steuerelement können Sie sowohl auf Zellen- als auch Zeilenebene eine Überprüfung durchführen. Mit der Überprüfung auf Zellenebene überprüfen Sie einzelne Eigenschaften eines gebundenen Datenobjekts, wenn ein Benutzer einen Wert aktualisiert. Mit der Überprüfung auf Zeilenebene überprüfen Sie ganze Datenobjekte, wenn ein Benutzer Änderungen an einer Zeile festschreibt. Um eine benutzerdefinierte Gültigkeitsprüfungsregel zu erstellen, erstellen Sie eine Klasse, die von der ValidationRule Klasse abgeleitet wird, und implementieren Sie die Validate Methode. Fügen Sie die benutzerdefinierte Gültigkeitsprüfungsregel zur RowValidationRules Auflistung hinzu.
Wenn die ItemBindingGroup Eigenschaft verwendet wird, wird die RowValidationRules Eigenschaft ignoriert.