Wpf 如何避免切换到选项卡时显示错误文本

Wpf 如何避免切换到选项卡时显示错误文本,wpf,xaml,Wpf,Xaml,根据问题中给出的答案,我能够闪现我的错误文本 <ControlTemplate x:Key="ErrorTemplate"> <StackPanel Orientation="Horizontal"> <AdornedElementPlaceholder x:Name="textBox"/> <ItemsControl ItemsSource="{Binding}" VerticalAlignment="Cente

根据问题中给出的答案,我能够闪现我的错误文本

<ControlTemplate x:Key="ErrorTemplate">
    <StackPanel Orientation="Horizontal">
        <AdornedElementPlaceholder x:Name="textBox"/>
        <ItemsControl ItemsSource="{Binding}" VerticalAlignment="Center" HorizontalAlignment="Center">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding ErrorContent}" Foreground="Red" Margin="5,0,0,0">
                        <TextBlock.Triggers>
                            <EventTrigger RoutedEvent="Loaded">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="1" To="0" AutoReverse="False" Duration="0:0:0.5" RepeatBehavior="3x" />
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </TextBlock.Triggers>
                    </TextBlock>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </StackPanel>
</ControlTemplate>

如果切换到较新的界面,您应该能够处理
ErrorsChanged
事件。我必须在.NET 4.0中实现这一点。动画完成后,有没有办法清除
xaml
中的错误文本?这将如何解决您的原始问题?我的验证是这样工作的。当用户输入无效值时,我会使用正确的错误消息设置属性
ValidationErrorMessage
,并将UI控件设置回以前的有效值。错误文本将闪烁几秒钟并隐藏。因此,如果我可以在动画之后清除
ValidationErrorMessage
,则在重新加载控件时不会显示任何错误。
public string this[string columnName]
{
    get
    {
        if (columnName == nameof(this.CurrentValue))
        {
            if (this.ShowErrorMessage)
            {
                return ValidationErrorMessage;
            }
        }
        return null;
    }
}