WPF闪烁椭圆填充动画

6

我看了这篇优秀的帖子: 如何让椭圆形闪烁? 有没有不会淡出的方式,而是立即改变颜色而不淡出呢?

1个回答

13

使用 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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接