Aracılığıyla paylaş


DataGrid.RowValidationRules Özellik

Tanım

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 ValidationRuleCourse 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 olarak UpdatedValue ayarlanır, böylece doğrulama yalnızca ilişkili veri nesnesi güncelleştirildikten sonra gerçekleşir. Kullanıcı başlangıç tarihinden önceki bir bitiş tarihini belirttiğinde, satır üst bilgisinde kırmızı bir ü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üzeyi 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ı bir satıra değişiklikleri işlediğinde veri nesnelerinin tamamını doğrularsınız. Özel doğrulama kuralı oluşturmak için ValidationRule sınıfından türetilen bir sınıf oluşturun ve Validate yöntemini uygulayın. Özel doğrulama kuralını koleksiyona RowValidationRules ekleyin.

ItemBindingGroup özelliği kullanılırsa, RowValidationRules özellik yoksayılır.

Şunlara uygulanır

Ayrıca bkz.