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

ObservableCollection<ValidationRule>

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.

Şunlara uygulanır

Ayrıca bkz.