Validation.Error İliştirilmiş Olaylar
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.
İlişkili öğe bir doğrulama hatasıyla çalıştığında, ancak yalnızca değerine ayarlanmış truebağlamalar NotifyOnValidationError için gerçekleşir.
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
Açıklamalar
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:
Bir değer hedef özelliğinden kaynak özelliğe aktarıldığında, veri bağlama altyapısı önce ilişkili öğenin ekli özelliğine 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, biri hatayla karşılaşana kadar veya tümü geçene kadar her birinde yöntemini ValidationRuleçağırırValidate.
Geçmeyen özel bir kural olduğunda, bağlama altyapısı bir ValidationError nesne oluşturur ve bunu ilişkili öğenin koleksiyonuna Validation.Errors ekler. Boş Validation.Errors olmadığında, öğesinin Validation.HasError ekli özelliği olarak
trueayarlanır. Ayrıca özelliğinin NotifyOnValidationErrorBinding olarak ayarlanmıştrueolması durumunda bağlama altyapısı öğesinde ekli olayı başlatır Validation.Error .Tüm kurallar geçerse, bağlama altyapısı varsa dönüştürücüsünü çağırır.
Dönüştürücü geçerse, bağlama altyapısı kaynak özelliğin ayarlayıcısını çağırır.
Bağlamanın kendisiyle ilişkilendirilmiş bir ExceptionValidationRule örneği 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 durum içeren bir ValidationError oluşturur ve bunu Validation.Errors ilişkili öğenin koleksiyonuna ekler.Binding
Ayrıca, her iki yönde de geçerli bir değer aktarımının (hedef-kaynak veya kaynak-hedef) ekli özelliğini temizlediğini ValidationErrors unutmayın.
Daha fazla bilgi için Bkz. Veri Bağlamaya Genel Bakış'taki "Veri Doğrulama".
Yönlendirilen Olay Bilgileri
| Öğe | Değer |
|---|---|
| Tanımlayıcı alanı | ErrorEvent |
| Yönlendirme stratejisi | Köpürme |
| Temsilci | EventHandler<TEventArgs>, kısıtlanan ValidationErrorEventArgs |