ValidationError 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表一種驗證錯誤,該錯誤由綁定引擎在回報驗證錯誤時 ValidationRule 產生,或透過 MarkInvalid(BindingExpressionBase, ValidationError) 方法明確產生。
public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
- 繼承
-
ValidationError
範例
以下範例展示了一個樣式觸發器,該觸發器會產生 ToolTip 一個並報告驗證錯誤訊息。 附加屬性 Validation.Errors 會回傳綁定元素上的一組 ValidationError 物件。
<Style x:Key="textStyleTextBox" TargetType="TextBox">
<Setter Property="Foreground" Value="#333333" />
<Setter Property="MaxLength" Value="40" />
<Setter Property="Width" Value="392" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
備註
WPF 資料綁定模型允許您將驗證規則與物件 Binding 關聯。 驗證會在目標到來源值傳輸過程中進行,然後才呼叫轉換器。 以下說明驗證過程。
當值從目標屬性轉移到來源屬性時,資料綁定引擎會先移除可能被附加Validation.Errors於綁定元素附加屬性中的值ValidationError。 接著檢查是否有針對該 Binding的自訂驗證規則,若是,則會呼叫 Validate 該 ValidationRule 方法,直到其中一項失敗或全部通過為止。
一旦有自訂規則未通過,綁定引擎會建立一個 ValidationError 物件並將其加入 Validation.Errors 綁定元素的集合中。 當 Validation.Errors 不空時, Validation.HasError 元素的附加性質被設定為
true。 此外,若 NotifyOnValidationError 的屬性 Binding 設為true,綁定引擎會將 Validation.Error 該元素上的附加事件提升。如果所有規則都通過,綁定引擎就會呼叫轉換器(如果有的話)。
如果轉換器通過,綁定引擎會呼叫來源屬性的設定器。
如果綁定有ExceptionValidationRule關聯,且在第 3 或第 4 步拋出例外,綁定引擎會檢查是否有例外。UpdateSourceExceptionFilter 你可以利用回 UpdateSourceExceptionFilter 調來提供一個自訂的處理程序來處理例外。 若 未指定 BindingaUpdateSourceExceptionFilter,綁定引擎會建立帶有例外的 aValidationError,並將其加入Validation.Errors綁定元素的集合中。
有效的值轉移(目標到來源或來源到目標)都能清除 Validation.Errors 附加屬性。
建構函式
| 名稱 | Description |
|---|---|
| ValidationError(ValidationRule, Object, Object, Exception) |
初始化一個新的類別實例 ValidationError ,並以指定參數進行。 |
| ValidationError(ValidationRule, Object) |
初始化一個新的類別實例 ValidationError ,並以指定參數進行。 |
屬性
| 名稱 | Description |
|---|---|
| BindingInError |
得到BindingExpression這個ValidationError或MultiBindingExpression的客體。 該物件要麼被明確標記為無效,要麼有驗證失敗的規則。 |
| ErrorContent |
取得或設定一個物件,提供額外的上下文, ValidationError例如描述錯誤的字串。 |
| Exception |
如果錯誤是例外造成的,則會取得或設定 Exception 造成此問題 ValidationError的物件。 |
| RuleInError |
若錯誤是驗證規則所導致,則取得或設定 ValidationRule 造成此問題 ValidationError的物件。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |