共用方式為


Validation.Error 附加事件

定義

當綁定元素遇到驗證錯誤時,僅發生於將 NotifyOnValidationError 值設為 true的綁定時。

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

備註

WPF 資料綁定模型讓你能與你的Binding物件產生關聯ValidationRules。 驗證發生在綁定目標到綁定來源值傳輸過程中,然後才呼叫轉換器。 以下描述驗證過程:

  1. 當值從目標屬性轉移到來源屬性時,資料綁定引擎會先移除 ValidationError 可能已加入 Validation.Errors 綁定元素附加屬性的任何值。 接著檢查是否有自訂 ValidationRule的 s, Binding這時它會呼叫 Validate 每個 ValidationRules 的方法,直到其中一個出錯,或全部通過為止。

  2. 一旦有自訂規則未通過,綁定引擎會建立一個 ValidationError 物件並將其加入 Validation.Errors 綁定元素的集合中。 當 Validation.Errors 不空時, Validation.HasError 元素的附加性質被設定為 true。 此外,若 NotifyOnValidationError 的屬性 Binding 設為 true,綁定引擎會將 Validation.Error 該元素上的附加事件提升。

  3. 若所有規則通過,綁定引擎接著呼叫轉換器(若有轉換器)。

  4. 如果轉換器通過,綁定引擎會呼叫來源屬性的設定器。

  5. 如果綁定有 ExceptionValidationRule 關聯,且在第 4 步拋出例外,綁定引擎會檢查是否有 UpdateSourceExceptionFilter。 你可以選擇使用 UpdateSourceExceptionFilter 回調來提供自訂的處理程序來處理例外。 若 未指定 BindingaUpdateSourceExceptionFilter,綁定引擎會建立帶有例外的 aValidationError,並將其加入Validation.Errors綁定元素的集合中。

另外請注意,有效的值轉移(目標到來源或來源到目標)會清除 Validation.Errors attached 屬性。

欲了解更多資訊,請參閱 資料綁定概覽中的「資料驗證」。

路由事件資訊

項目 價值
識別碼欄位 ErrorEvent
路由策略 氣泡
代理人 EventHandler<TEventArgs>,受限於 ValidationErrorEventArgs

適用於