Validation.Error 附加事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當繫結項目執行到驗證錯誤時發生,但僅針對 NotifyOnValidationError 值設定為 true
的繫結。
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
備註
WPF 資料系結模型可讓您與 Binding 物件產生關聯 ValidationRules 。 在呼叫轉換子之前,在系結目標對系結來源值傳輸期間發生驗證。 下列說明驗證程式:
當值從目標屬性傳輸到來源屬性時,資料系結引擎會先移除 ValidationError 任何可能已新增至 Validation.Errors 繫結項目目的附加屬性。 然後它會檢查是否有針對該 Binding 定義的任何自訂 ValidationRule ,在此情況下,它會在每個 上 ValidationRule 呼叫 Validate 方法,直到其中一個發生錯誤或全部通過為止。
一旦有未傳遞的自訂規則,系結引擎就會 ValidationError 建立 物件,並將它新增至 Validation.Errors 繫結項目目的集合。 當 Validation.Errors 不是空白時, Validation.HasError 元素的附加屬性會設定為
true
。 此外,如果 Binding 的 NotifyOnValidationError 屬性設定為true
,則繫結引擎會針對元素引發 Validation.Error 附加事件。如果所有規則都通過,則系結引擎會呼叫轉換器,如果有的話。
如果轉換子通過,系結引擎會呼叫來源屬性的 setter。
如果系結有 ExceptionValidationRule 相關聯的 ,而且在步驟 4 期間擲回例外狀況,系結引擎會檢查是否有 UpdateSourceExceptionFilter 。 您可以選擇使用 UpdateSourceExceptionFilter 回呼來提供用於處理例外狀況的自訂處理常式。 UpdateSourceExceptionFilter如果未在 上 Binding 指定 ,則系結引擎會 ValidationError 建立 ,但例外狀況為 ,並將它新增至 Validation.Errors 繫結項目目的集合。
另請注意,有效的值傳輸方向 (目標對來源或來源對目標) 會 Validation 清除 。 Errors附加屬性。
如需詳細資訊,請參閱 資料系結概觀中的。
路由事件資訊
識別碼欄位 | ErrorEvent |
路由策略 | 鼓 泡 |
代理人 | EventHandler<TEventArgs>,受限於 ValidationErrorEventArgs |