- Validation Error Templates For UserControl
- <UserControl.Resources>
- <Style TargetType="{x:Type TextBox}">
- <Style.Triggers>
- <Trigger Property="Validation.HasError" Value="true" >
- <Setter Property="Foreground" Value="Red"/>
- <Setter Property="Background" Value="MistyRose"/>
- <Setter Property="BorderBrush" Value="Red"/>
- <Setter Property="BorderThickness" Value="1.0"/>
- <Setter Property="VerticalContentAlignment" Value="Center"/>
- <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource
- Self},Path=(Validation.Errors)[0].ErrorContent}"/>
- </Trigger>
- </Style.Triggers>
- </Style>
- </UserControl.Resources>
- <TextBox >
- <Validation.ErrorTemplate>
- <ControlTemplate>
- </ControlTemplate>
- </Validation.ErrorTemplate>
- </TextBox>
- <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type TextBoxBase}">
- <Border
- Name="Border"
- CornerRadius="5"
- Padding="2"
- BorderBrush="{TemplateBinding BorderBrush}"
- Background="{TemplateBinding Background}"
- BorderThickness="{TemplateBinding BorderThickness}" >
- <ScrollViewer Margin="0" x:Name="PART_ContentHost"/>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="IsEnabled" Value="False">
- <Setter TargetName="Border" Property="Background" Value="LightGray"/>
- <Setter TargetName="Border" Property="BorderBrush" Value="Black"/>
- <Setter Property="Foreground" Value="Gray"/>
- </Trigger>
- <Trigger Property="Validation.HasError" Value="true">
- <Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource ErrorBorderColor}"/>
- <Setter Property="Background" TargetName="Border" Value="{DynamicResource ErrorBackgroundColor}"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>