Validation.Errors 附加屬性

定義

取得繫結項目上所有使用中 ValidationError 物件的集合。

see GetErrors
see GetErrors
see GetErrors

備註

應用程式無法修改此集合的內容。 如需如何使用這個附加屬性的範例,請參閱範例一節。

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

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

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

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

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

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

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

如需這個屬性在案例中 MultiBinding 行為的相關資訊,請參閱 ValidationError

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

XAML 文字使用方式

請參閱<備註>。 Errors集合本身不是使用者可設定的,但您可以在 XAML 的控制項範本定義中使用它。

相依性屬性資訊

識別碼欄位 ErrorsProperty
設定為 的中繼資料屬性 true IsNotDataBindable

適用於