Why does the data binding in this validation example work?
Posted
by MartyIX
on Stack Overflow
See other posts from Stack Overflow
or by MartyIX
Published on 2010-03-29T17:27:58Z
Indexed on
2010/03/29
17:43 UTC
Read the original article
Hit count: 314
I'm wondering how exactly the XAML sample (MSDN sample) works:
<Style x:Key="textBoxInError" TargetType="{x:Type 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>
Questions:
- (Validation.Errors)[0].ErrorContent - Is this code somehow checked by WPF? Because Validation.Errors may be an empty collection and in ordinary C# code this code may throw an exception. If this data-binding returns null for valid input - the null value is then casted to empty string (in a text control for example)?
- The index 0 corresponds to the first error message. How can I return more error messages from Validate method?
Thank you for responses!
© Stack Overflow or respective owner