Binding.ValidatesOnExceptions Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob die ExceptionValidationRule eingeschlossen werden soll, oder legt diesen fest.
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
Eigenschaftswert
true
, wenn die ExceptionValidationRule eingeschlossen werden soll, andernfalls false
.
Beispiele
In den folgenden Beispielen werden ValidatesOnExceptions Benutzereingaben in einem TextBoxüberprüft. Im ersten Beispiel wird ein Datentyp erstellt, der eine Ausnahme auslöst, wenn die Age
Eigenschaft auf eine ungültige Eigenschaft festgelegt ist.
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
Im folgenden Beispiel wird die Age
-Eigenschaft an das TextBox gebunden und auf true
BindingfestgelegtValidatesOnExceptions. Wenn der Benutzer einen ungültigen Wert eingibt, wird ein roter Rahmen in und TextBoxToolTip die Fehlermeldung angezeigt.
<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>
Hinweise
Das Festlegen dieser Eigenschaft stellt eine Alternative zur expliziten Verwendung des ExceptionValidationRule Elements bereit. Die ExceptionValidationRule ist eine integrierte Überprüfungsregel, die nach Ausnahmen sucht, die während der Aktualisierung der Quelleigenschaft ausgelöst werden. Wenn eine Ausnahme ausgelöst wird, erstellt das Bindungsmodul eine ValidationError mit der Ausnahme und fügt sie der Validation.Errors Auflistung des gebundenen Elements hinzu. Das Fehlen eines Fehlers löscht dieses Validierungsfeedback, es sei denn, eine andere Regel verursacht ein Validierungsproblem.
ValidatesOnExceptionswird in der .NET Framework Version 3.5 eingeführt. Weitere Informationen finden Sie unter .NET Framework-Versionen und -Abhängigkeiten.