使用ObjectAnimationUsingKeyFrames切换可见性

时间:2012-08-07 21:37:00

标签: c# wpf silverlight xaml

我不确定为什么以下不起作用。我正在尝试隐藏并在绑定模型属性更改时每1.2秒显示一个文本框,持续1.2秒。任何人都可以看到这种风格的问题或我是如何尝试这样做的?

<Style x:Key="FlashStyle" TargetType="TextBlock">
        <Style.Triggers>
            <EventTrigger RoutedEvent="Binding.TargetUpdated" >
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard>
                            <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Visibility)">
                                <DiscreteObjectKeyFrame KeyTime="00:00:00.2" Value="{x:Static Visibility.Visible}"/>
                                <DiscreteObjectKeyFrame KeyTime="00:00:00.4" Value="{x:Static Visibility.Collapsed}"/>
                                <DiscreteObjectKeyFrame KeyTime="00:00:00.6" Value="{x:Static Visibility.Visible}"/>
                                <DiscreteObjectKeyFrame KeyTime="00:00:00.8" Value="{x:Static Visibility.Collapsed}"/>
                                <DiscreteObjectKeyFrame KeyTime="00:00:01" Value="{x:Static Visibility.Visible}"/>
                            </ObjectAnimationUsingKeyFrames>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
        </Style.Triggers>
    </Style>

    <TextBlock Text="{Binding Data.QuotePrice, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource FlashStyle}" />

1 个答案:

答案 0 :(得分:3)

Binding.TargetUpdated event未发生:

  

当值从绑定源传输到绑定目标时发生,但仅适用于NotifyOnTargetUpdated值设置为 true 的绑定。

除了precedence之外,我才能想到的事情(如果这是你的实际代码,这应该没问题。)