Validation.Errors İliştirilmiş Özellik

Tanım

İlişkili öğedeki tüm etkin ValidationError nesnelerin koleksiyonunu alır.

see GetErrors
see GetErrors
see GetErrors

Açıklamalar

Uygulama bu koleksiyonun içeriğini değiştiremez. Bu ekli özelliğin nasıl kullanılacağına ilişkin bir örnek için Örnek bölümüne bakın.

WPF veri bağlama modeli, nesnenizle ilişkilendirmenizi ValidationRulesBinding sağlar. Doğrulama, dönüştürücü çağrılmadan önce bağlama hedef-bağlama kaynak değeri aktarımı sırasında gerçekleşir. Doğrulama işlemi aşağıda açıklanmaktadır:

  1. Bir değer hedef özelliğinden kaynak özelliğe aktarıldığında, veri bağlama altyapısı önce ilişkili öğenin ekli özelliğine System.Windows.Controls.Validation.Errors eklenmiş olabilecekleri ValidationError kaldırır. Ardından, bu Bindingiçin tanımlanmış herhangi bir özel ValidationRules olup olmadığını denetler. Bu durumda, bunlardan biri hatayla karşılaşana kadar veya hepsi geçene kadar her birinde yöntemini ValidationRuleçağırırValidate.

  2. Geçmeyen özel bir kural olduğunda bağlama altyapısı bir ValidationError nesnesi oluşturur ve bunu ilişkili öğenin koleksiyonuna System.Windows.Controls.Validation.Errors ekler. System.Windows.Controls.Validation.Errors Boş olmadığında, öğesinin System.Windows.Controls.Validation.HasError ekli özelliği olarak trueayarlanır. Ayrıca, Binding öğesinin NotifyOnValidationError özelliği true olarak ayarlanırsa, bağlama altyapısı öğesinde ekli System.Windows.Controls.Validation.Error olayını tetikler.

  3. Tüm kurallar geçerse, bağlama altyapısı varsa dönüştürücüsünü çağırır.

  4. Dönüştürücü geçerse, bağlama altyapısı kaynak özelliğin ayarlayıcısını çağırır.

  5. Bağlamanın kendisiyle ilişkilendirilmiş bir ExceptionValidationRule değeri varsa ve 4. adım sırasında bir özel durum oluşursa, bağlama altyapısı bir UpdateSourceExceptionFilterolup olmadığını denetler. Özel durumları işlemek için özel bir işleyici sağlamak üzere geri çağırmayı kullanma UpdateSourceExceptionFilter seçeneğiniz vardır. üzerinde belirtilmezseUpdateSourceExceptionFilter, bağlama altyapısı özel durumu olan bir ValidationError oluşturur ve bunu ilişkili öğenin koleksiyonuna System.Windows.Controls.Validation.Errors ekler.Binding

Ayrıca, her iki yönde de geçerli bir değer aktarımının (hedef-kaynak veya kaynak-hedef) işaretini temizlediğini Validationunutmayın.Errorsattached özelliği.

Bu özelliğin senaryolardaki MultiBinding davranışı hakkında bilgi için bkz ValidationError. .

Daha fazla bilgi için Bkz. Veri Bağlamaya Genel Bakış bölümündeki "Veri Doğrulama".

XAML Metni Kullanımı

Bkz. Açıklamalar. Koleksiyonun Errors kendisi kullanıcı tarafından ayarlanabilir değildir, ancak bunu XAML'deki bir denetim şablonu tanımında kullanabilirsiniz.

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı ErrorsProperty
Meta veri özellikleri olarak ayarlandı true IsNotDataBindable

Şunlara uygulanır