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 物件產生關聯。 在呼叫轉換器之前,驗證會在目標對來源值傳輸期間發生。 以下描述「驗證」程序。
當值從目標屬性傳輸到來源屬性時,資料系結引擎會先移除 ValidationError 任何可能已新增至 Validation.Errors 繫結項目目的附加屬性。 然後它會檢查是否已針對該 Binding 定義任何自訂驗證規則,在此情況下,它會在每個 方法上 ValidationRule 呼叫 Validate 方法,直到其中一個失敗,或直到所有規則都通過為止。
一旦有未傳遞的自訂規則,系結引擎就會 ValidationError 建立 物件,並將它新增至 Validation.Errors 繫結項目目的集合。 當 Validation.Errors 不是空白時, Validation.HasError 元素的附加屬性會設定為
true
。 此外,如果 Binding 的 NotifyOnValidationError 屬性設定為true
,則繫結引擎會針對元素引發 Validation.Error 附加事件。如果所有規則都通過,則系結引擎會呼叫轉換器,如果有的話。
如果轉換子通過,系結引擎會呼叫來源屬性的 setter。
如果系結有 ExceptionValidationRule 相關聯的 ,而且在步驟 3 或 4 期間擲回例外狀況,系結引擎會檢查是否有 UpdateSourceExceptionFilter 。 您可以使用 UpdateSourceExceptionFilter 回呼來提供處理例外狀況的自訂處理常式。 UpdateSourceExceptionFilter如果未在 上 Binding 指定 ,則系結引擎會 ValidationError 建立 ,但例外狀況為 ,並將它新增至 Validation.Errors 繫結項目目的集合。
有效的值傳輸方向 (目標為來源或目標來源,) 將會清除 Validation.Errors 附加屬性。
建構函式
ValidationError(ValidationRule, Object) |
使用指定的參數,初始化 ValidationError 類別的新執行個體。 |
ValidationError(ValidationRule, Object, Object, Exception) |
使用指定的參數,初始化 ValidationError 類別的新執行個體。 |
屬性
BindingInError |
取得這個 BindingExpression 的 MultiBindingExpression 或 ValidationError 物件。 此物件可能明確標記為無效,或有失敗的驗證規則。 |
ErrorContent |
取得或設定物件,這個物件提供這個 ValidationError 的其他內容 (例如,描述錯誤的字串)。 |
Exception |
取得或設定 Exception 物件,該物件是這個 ValidationError 的原因,如果錯誤是因為例外狀況所造成。 |
RuleInError |
取得或設定 ValidationRule 物件,該物件是這個 ValidationError 的原因,如果錯誤是因為驗證規則失敗所造成。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |