Binding.ValidatesOnExceptions Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de ExceptionValidationRulewaarde moet worden opgenomen.
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
Waarde van eigenschap
true om de ExceptionValidationRule; anders toe te voegen, false.
Voorbeelden
In de volgende voorbeelden wordt gebruikgemaakt ValidatesOnExceptions van het valideren van gebruikersinvoer in een TextBox. In het eerste voorbeeld wordt een gegevenstype gemaakt dat een uitzondering genereert wanneer de Age eigenschap is ingesteld op een ongeldige eigenschap.
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
In het volgende voorbeeld wordt de Age eigenschap aan de TextBox eigenschap gekoppeld en ingesteld ValidatesOnExceptionstrue op de Binding. Wanneer de gebruiker een ongeldige waarde invoert, wordt er een rode rand weergegeven in de TextBox en wordt het ToolTip foutbericht gerapporteerd.
<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>
Opmerkingen
Het instellen van deze eigenschap biedt een alternatief voor het expliciet gebruik van het ExceptionValidationRule element. Dit ExceptionValidationRule is een ingebouwde validatieregel waarmee wordt gecontroleerd op uitzonderingen die worden gegenereerd tijdens de update van de broneigenschap. Als er een uitzondering wordt gegenereerd, maakt de bindingsengine een ValidationError met de uitzondering en voegt deze toe aan de Validation.Errors verzameling van het afhankelijke element. Het ontbreken van een fout wist deze validatiefeedback, tenzij een andere regel een validatieprobleem veroorzaakt.
ValidatesOnExceptions wordt geïntroduceerd in de .NET Framework versie 3.5. Zie .NET Framework-versies en -afhankelijkhedenvoor meer informatie.