风格范围问题

时间:2010-08-09 10:35:06

标签: wpf binding

我有几个TextBlocks,绑定到不同的东西。两个TextBlock都应用了相同的样式。在样式中有一个eventtrigger,当绑定值更新时,它会闪烁文本。一切都很好,但是当一个文本块的值更新时,两个文本块都会闪烁。我期待只有一个TextBlock闪存。有什么想法吗?

    <Style x:Key="flashingTextBlock" TargetType="TextBlock">
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="Foreground" Value="#333333" />
        <Style.Triggers>
            <EventTrigger RoutedEvent="Binding.TargetUpdated">
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimation     
                                Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)"
                                To="Orange"              
                                Duration="0:0:1"
                                AutoReverse="True"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Style.Triggers>
    </Style>

<TextBlock Text="{Binding Path=PcName, NotifyOnTargetUpdated=True}" 
        Style="{StaticResource flashingTextBlock}"/>
<TextBlock Text="{Binding Path=Time, NotifyOnTargetUpdated=True}" 
        Style="{StaticResource flashingTextBlock}"/>

1 个答案:

答案 0 :(得分:1)

基本上我无法重现这个(使用类似的配置)。

我建议您验证实际发生的情况。可能是您的代码隐藏(ViewModel)正在热情地调用PropertyChanged。