Bagikan melalui


Validation.Error Kejadian Terlampir

Definisi

Terjadi ketika elemen terikat mengalami kesalahan validasi, tetapi hanya untuk pengikatan dengan nilai yang NotifyOnValidationError diatur ke true.

see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler

Keterangan

Model pengikatan data WPF memungkinkan Anda untuk mengaitkan ValidationRules dengan objek Anda Binding . Validasi terjadi selama pengikatan transfer nilai sumber target-ke-pengikatan sebelum konverter dipanggil. Berikut ini menjelaskan proses validasi:

  1. Ketika nilai sedang ditransfer dari properti target ke properti sumber, mesin pengikatan data terlebih dahulu menghapus apa pun ValidationError yang mungkin telah ditambahkan ke Validation.Errors properti terlampir dari elemen terikat. Kemudian memeriksa apakah ada s kustom ValidationRuleyang ditentukan untuk itu Binding, dalam hal ini ia memanggil Validate metode pada masing-masing ValidationRulehingga salah satu dari mereka mengalami kesalahan atau sampai semuanya lulus.

  2. Setelah ada aturan kustom yang tidak lulus, mesin pengikatan membuat ValidationError objek dan menambahkannya ke Validation.Errors koleksi elemen terikat. Ketika Validation.Errors tidak kosong, Validation.HasError properti terlampir dari elemen diatur ke true. Selain itu, jika properti NotifyOnValidationError dari Binding diatur ke true, maka mesin pengikat akan memunculkan Validation.Error peristiwa terlampir pada elemen.

  3. Jika semua aturan lolos, mesin pengikatan kemudian memanggil pengonversi, jika ada.

  4. Jika pengonversi lolos, mesin pengikatan memanggil setter properti sumber.

  5. Jika pengikatan memiliki yang ExceptionValidationRule terkait dengannya dan pengecualian dilemparkan selama langkah 4, mesin pengikatan memeriksa untuk melihat apakah ada UpdateSourceExceptionFilter. Anda memiliki opsi untuk menggunakan UpdateSourceExceptionFilter panggilan balik untuk menyediakan penangan kustom untuk menangani pengecualian. UpdateSourceExceptionFilter Jika tidak ditentukan pada Binding, mesin pengikatan membuat ValidationError dengan pengecualian dan menambahkannya ke Validation.Errors koleksi elemen terikat.

Perhatikan juga bahwa transfer nilai yang valid ke kedua arah (target-ke-sumber atau sumber-ke-target) menghapus Validation.Errorsproperti terlampir.

Untuk informasi selengkapnya, lihat "Validasi Data" di Gambaran Umum Pengikatan Data.

Informasi Peristiwa Yang Dirutekan

Bidang pengidentifikasi ErrorEvent
Strategi perutean Menggelegak
Delegasikan EventHandler<TEventArgs>, dibatasi oleh ValidationErrorEventArgs

Berlaku untuk