WPF闪烁椭圆填充动画

时间:2012-07-03 17:51:53

标签: wpf

我正在看这篇优秀的帖子: How do I make an ellipse blink? 有没有办法不眨眼褪色,而只是立即改变颜色,没有褪色?

1 个答案:

答案 0 :(得分:11)

使用DiscreteColorKeyFrame。设置KeyTime以指定您希望它何时触发。

以下是闪烁Ellipse的示例。 Fill每秒在红色和蓝色之间交替

<Ellipse Fill="Red">
    <Ellipse.Triggers>
        <EventTrigger RoutedEvent="Ellipse.Loaded">
            <EventTrigger.Actions>
                <BeginStoryboard>
                    <Storyboard>
                        <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
                                                      Duration="0:0:2"
                                                      FillBehavior="HoldEnd"
                                                      RepeatBehavior="Forever">
                            <ColorAnimationUsingKeyFrames.KeyFrames>
                                <DiscreteColorKeyFrame KeyTime="0:0:0" Value="Red"/>
                                <DiscreteColorKeyFrame KeyTime="0:0:1" Value="Blue"/>
                            </ColorAnimationUsingKeyFrames.KeyFrames>
                        </ColorAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger.Actions>                    
        </EventTrigger>
    </Ellipse.Triggers>
</Ellipse>