Binding.ValidatesOnExceptions 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值表示是否要包含 ExceptionValidationRule。
public:
property bool ValidatesOnExceptions { bool get(); void set(bool value); };
public bool ValidatesOnExceptions { get; set; }
member this.ValidatesOnExceptions : bool with get, set
Public Property ValidatesOnExceptions As Boolean
屬性值
true
表示包含 ExceptionValidationRule,否則為 false
。
範例
下列範例會使用 ValidatesOnExceptions 來驗證 中的 TextBox 使用者輸入。 第一個範例會建立資料類型,當 Age
屬性設定為不正確屬性時,會擲回例外狀況。
public class PersonThrowException
{
private int age;
public int Age
{
get { return age; }
set
{
if (value < 0 || value > 150)
{
throw new ArgumentException("Age must not be less than 0 or greater than 150.");
}
age = value;
}
}
}
Public Class PersonThrowException
Private m_age As Integer
Public Property Age() As Integer
Get
Return m_age
End Get
Set(ByVal value As Integer)
If value < 0 OrElse value > 150 Then
Throw New ArgumentException("Age must not be less than 0 or greater than 150.")
End If
m_age = value
End Set
End Property
End Class
下列範例會將 Age
屬性系結至 , TextBox 並將 設定 ValidatesOnExceptions 為 true
。 Binding 當使用者輸入不正確值時,紅色框線會出現在 中 TextBox ,並 ToolTip 報告錯誤訊息。
<StackPanel Margin="20">
<StackPanel.Resources>
<src:PersonThrowException x:Key="data"/>
<!--The tool tip for the TextBox to display the validation error message.-->
<Style x:Key="textBoxInError" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBlock>Enter your age:</TextBlock>
<TextBox Style="{StaticResource textBoxInError}">
<TextBox.Text>
<!--By setting ValidatesOnExceptions to True, it checks for exceptions
that are thrown during the update of the source property.
An alternative syntax is to add <ExceptionValidationRule/> within
the <Binding.ValidationRules> section.-->
<Binding Path="Age" Source="{StaticResource data}"
ValidatesOnExceptions="True"
UpdateSourceTrigger="PropertyChanged">
</Binding>
</TextBox.Text>
</TextBox>
<TextBlock>Mouse-over to see the validation error message.</TextBlock>
</StackPanel>
備註
設定這個屬性可提供明確使用 元素的 ExceptionValidationRule 替代方案。 ExceptionValidationRule是內建的驗證規則,會檢查來源屬性更新期間所擲回的例外狀況。 如果擲回例外狀況,系結引擎會 ValidationError 建立 具有例外狀況的 ,並將它新增至 Validation.Errors 繫結項目目的集合。 除非另一個規則引發驗證問題,否則缺少錯誤會清除此驗證意見反應。
ValidatesOnExceptions.NET Framework 3.5 版引進。 如需詳細資訊,請參閱 .NET Framework 版本和相依性。