Validation.Error 附加事件

定義

當繫結項目執行到驗證錯誤時發生,但僅針對 NotifyOnValidationError 值設定為 true 的繫結。

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

備註

WPF 資料系結模型可讓您與 Binding 物件產生關聯 ValidationRules 。 在呼叫轉換子之前,在系結目標對系結來源值傳輸期間發生驗證。 下列說明驗證程式:

  1. 當值從目標屬性傳輸到來源屬性時,資料系結引擎會先移除 ValidationError 任何可能已新增至 Validation.Errors 繫結項目目的附加屬性。 然後它會檢查是否有針對該 Binding 定義的任何自訂 ValidationRule ,在此情況下,它會在每個 上 ValidationRule 呼叫 Validate 方法,直到其中一個發生錯誤或全部通過為止。

  2. 一旦有未傳遞的自訂規則,系結引擎就會 ValidationError 建立 物件,並將它新增至 Validation.Errors 繫結項目目的集合。 當 Validation.Errors 不是空白時, Validation.HasError 元素的附加屬性會設定為 true 。 此外,如果 BindingNotifyOnValidationError 屬性設定為 true,則繫結引擎會針對元素引發 Validation.Error 附加事件。

  3. 如果所有規則都通過,則系結引擎會呼叫轉換器,如果有的話。

  4. 如果轉換子通過,系結引擎會呼叫來源屬性的 setter。

  5. 如果系結有 ExceptionValidationRule 相關聯的 ,而且在步驟 4 期間擲回例外狀況,系結引擎會檢查是否有 UpdateSourceExceptionFilter 。 您可以選擇使用 UpdateSourceExceptionFilter 回呼來提供用於處理例外狀況的自訂處理常式。 UpdateSourceExceptionFilter如果未在 上 Binding 指定 ,則系結引擎會 ValidationError 建立 ,但例外狀況為 ,並將它新增至 Validation.Errors 繫結項目目的集合。

另請注意,有效的值傳輸方向 (目標對來源或來源對目標) 會 Validation 清除 。 Errors附加屬性。

如需詳細資訊,請參閱 資料系結概觀中的。

路由事件資訊

識別碼欄位 ErrorEvent
路由策略 鼓 泡
代理人 EventHandler<TEventArgs>,受限於 ValidationErrorEventArgs

適用於