Validation.Errors Attached Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets a collection of ValidationError objects associated with the binding target element.

Namespace:  System.Windows.Controls
Assembly:  System.Windows (in System.Windows.dll)


See GetErrors
See GetErrors
See Remarks

Property Value

Type: System.Collections.ObjectModel.ReadOnlyObservableCollection<ValidationError>
A collection of ValidationError objects associated with the binding target element.


The Validation.Errors attached property is not used directly in XAML for attribute setting. You do not ever populate a <Validation.Errors> property element on an object with ValidationError instances in XAML. The Validation.Errors property is populated with a ReadOnlyObservableCollection<T> of ValidationError instances as part of the behavior of the binding validation system.

Validation.Errors might be referenced in XAML as part of a binding property path for another property. For example, if a template defines the visual state of error handling, the template might expose properties of the ValidationError.Exception as part of the UI presented in another property and would specify (Validation.Errors) as the start of the property path.


The following code example demonstrates how to use the Validation class in a control template. This template is used as a static resource by several default control templates to display a validation error message in a tool tip. For a complete control template example, see TextBox Styles and Templates.

<ControlTemplate x:Key="ValidationToolTipTemplate">
      <Grid x:Name="Root" Margin="5,0" RenderTransformOrigin="0,0" Opacity="0">
              <TranslateTransform x:Name="xform" X="-25"/>
              <vsm:VisualStateGroup Name="OpenStates">
                      <vsm:VisualTransition GeneratedDuration="0"/>
                      <vsm:VisualTransition To="Open" GeneratedDuration="0:0:0.2">
                              <DoubleAnimation Storyboard.TargetName="xform" Storyboard.TargetProperty="X" To="0" Duration="0:0:0.2">
                                      <BackEase Amplitude=".3" EasingMode="EaseOut"/>
                              <DoubleAnimation Storyboard.TargetName="Root" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.2"/>
                  <vsm:VisualState x:Name="Closed">
                          <DoubleAnimation Storyboard.TargetName="Root" Storyboard.TargetProperty="Opacity" To="0" Duration="0"/>
                  <vsm:VisualState x:Name="Open">
                          <DoubleAnimation Storyboard.TargetName="xform" Storyboard.TargetProperty="X" To="0" Duration="0"/>
                          <DoubleAnimation Storyboard.TargetName="Root" Storyboard.TargetProperty="Opacity" To="1" Duration="0"/>

          <Border Margin="4,4,-4,-4" Background="#052A2E31" CornerRadius="5"/>
          <Border Margin="3,3,-3,-3" Background="#152A2E31" CornerRadius="4"/>
          <Border Margin="2,2,-2,-2" Background="#252A2E31" CornerRadius="3"/>
          <Border Margin="1,1,-1,-1" Background="#352A2E31" CornerRadius="2"/>

          <Border Background="#FFDC000C" CornerRadius="2"/>
          <Border CornerRadius="2">
                  Foreground="White" Margin="8,4,8,4" MaxWidth="250" TextWrapping="Wrap" Text="{Binding (Validation.Errors)[0].ErrorContent}"/>

Version Information


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0


For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.