如何更新Validation.HasError属性以进行用户输入验证?

时间:2016-03-26 21:26:07

标签: c# wpf mvvm

this tutorial中,有一个文本框,显示无效数据的粉红色背景。这是wpf代码:

<TextBox Text="{Binding Aid,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay,ValidatesOnDataErrors=True}" 
             Canvas.Left="95" Canvas.Top="60" Width="297">

<TextBox.Style>
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger  Property="Validation.HasError" Value="True">
                        <Setter Property="Background" Value="Pink"/>
                        ...
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>

        <Validation.ErrorTemplate>
            <ControlTemplate>                    
                <StackPanel>
                    <AdornedElementPlaceholder x:Name="textBox" ToolTip="{Binding [0].ErrorContent}"/>
                </StackPanel>
            </ControlTemplate>
        </Validation.ErrorTemplate>

    </TextBox>

但我不知道Validation.HasError如何在用户输入值时更新?

1 个答案:

答案 0 :(得分:0)

此示例项目利用了IDataErrorInfo接口,使数据验证变得非常简单。 This link will describe it in details