WPF文本块文本已更改通知

WPF文本块文本已更改通知,wpf,wpf-controls,Wpf,Wpf Controls,我有一个屏幕包含大约15-20个文本块,每个文本块绑定到不同的属性,首先所有的文本块都是空的,文本更新来自其他客户端 我想做的事情是,当文本发生变化时,为闪烁的文本设置3秒钟的动画 我使用下面的故事板实现了这一点: <Setter Property="Visibility" Value="Visible"/> <Style.Triggers> <EventTrigger RoutedEvent="UIElement.Mouse

我有一个屏幕包含大约15-20个文本块,每个文本块绑定到不同的属性,首先所有的文本块都是空的,文本更新来自其他客户端

我想做的事情是,当文本发生变化时,为闪烁的文本设置3秒钟的动画

我使用下面的故事板实现了这一点:

    <Setter Property="Visibility" Value="Visible"/>

       <Style.Triggers>
        <EventTrigger RoutedEvent="UIElement.MouseEnter">  

            <BeginStoryboard >
                <Storyboard Duration="0:0:03">
                    <ObjectAnimationUsingKeyFrames BeginTime="00:00:00"  Storyboard.TargetProperty="(UIElement.Visibility)">
                        <DiscreteObjectKeyFrame KeyTime="00:00:00" Value="{x:Static Visibility.Visible}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:00.5" Value="{x:Static Visibility.Hidden}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:01" Value="{x:Static Visibility.Visible}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:01.5" Value="{x:Static Visibility.Hidden}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:02" Value="{x:Static Visibility.Visible}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:02.5" Value="{x:Static Visibility.Hidden}"/>
                        <DiscreteObjectKeyFrame KeyTime="00:00:03" Value="{x:Static Visibility.Visible}"/>
                    </ObjectAnimationUsingKeyFrames>
               </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Style.Triggers>
</Style>


使用鼠标输入事件文本闪烁正常,但使用
绑定。TargetUpdated
事件未触发任何事件

有人知道当
TextBlock
文本更改时引发的事件吗

您是否将属性设置为true

<TextBlock Text="{Binding Path=YourProperty, NotifyOnTargetUpdated=True}" TargetUpdated="OnTargetUpdated"/>

已经有点过时了,但这里是纯xaml的解决方案:

<TextBlock VerticalAlignment="Center"
           Text="{Binding ErrorMsg, NotifyOnTargetUpdated=True}">
    <TextBlock.Triggers>
        <EventTrigger RoutedEvent="Binding.TargetUpdated">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation BeginTime="0:0:0"
                                     Duration="0:0:1"
                                     From="0.0"
                                     Storyboard.TargetProperty="Opacity"
                                     To="1.0" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </TextBlock.Triggers>
</TextBlock>


我没有,就是这样,谢谢!!谢谢,这是一个很好的xaml专用解决方案。这正是我想要的。