DataGrid.RowValidationRules Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Her satırdaki verileri doğrulamak için kullanılan kuralları alır.
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)
Özellik Değeri
Her satırdaki verileri doğrulamak için kullanılan kurallar.
Örnekler
Aşağıdaki örnekte, bir nesnenin özellik değerinin özellik değerinden StartDate
önce EndDate
olup olmadığını denetleen bir ValidationRule Course
gösterilmektedir. Bu kod örneği, How to: Implement Validation with the DataGrid Control konusu için sağlanan daha büyük bir örneğin parçasıdır.
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
Aşağıdaki örnek, XAML'de özelliğini ayarlar RowValidationRules . ValidationStep özelliği, doğrulamanın yalnızca ilişkili veri nesnesi güncelleştirildikten sonra gerçekleşmesi için UpdatedValue olarak ayarlanır. Kullanıcı başlangıç tarihinden önceki bir bitiş tarihini belirttiğinde, satır üst bilgisinde kırmızı ünlem işareti (!) görünür.
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
Açıklamalar
Denetim, DataGrid hem hücre hem de satır düzeyinde doğrulama gerçekleştirmenizi sağlar. Hücre düzeyinde doğrulama ile, kullanıcı bir değeri güncelleştirdiğinde ilişkili veri nesnesinin tek tek özelliklerini doğrularsınız. Satır düzeyi doğrulama ile, kullanıcı değişiklikleri satıra işlediğinde veri nesnelerinin tamamını doğrularsınız. Özel doğrulama kuralı oluşturmak için sınıfından ValidationRule türetilen bir sınıf oluşturun ve yöntemini uygulayın Validate . Özel doğrulama kuralını koleksiyona RowValidationRules ekleyin.
ItemBindingGroup özelliği kullanılırsa, RowValidationRules özellik yoksayılır.