Silverlight:重复故事板形状动画

时间:2011-03-21 21:43:08

标签: silverlight animation storyboard shape

我正在创建Silverlight应用程序。我需要做几次闪烁的形状。

这就是我现在所拥有的(简化代码):

<UserControl>
    <UserControl.Resources>
        <Storyboard x:Name="Storyboard">
            <ColorAnimationUsingKeyFrames
                    Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" 
                    Storyboard.TargetName="ellipse">
                <EasingColorKeyFrame KeyTime="0" Value="Black"/>
                <EasingColorKeyFrame KeyTime="0:0:1" Value="White"/>
                <EasingColorKeyFrame KeyTime="0:0:2" Value="Black"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <Ellipse x:Name="ellipse" Fill="Black" Width="100" Height="100" />
    </Grid>
</UserControl>

我在故事板中设置了闪烁1次的动画(圆圈的黑色 - >白色 - >再次黑色)。请告诉我,我怎么能重复,再说5次?我是否需要复制粘贴标记EasingColorKeyFrame或存在更智能的方式?

感谢。

2 个答案:

答案 0 :(得分:1)

RepeatBehavior元素中添加<ColorAnimationUsingKeyFrames>属性。 @MSDN

答案 1 :(得分:1)

在ColorAnimationUsingKeyFrames上放置RepeatBehavior =“6x”,如下所示:

<UserControl>
    <UserControl.Resources>
        <Storyboard x:Name="Storyboard">
            <ColorAnimationUsingKeyFrames RepeatBehavior="6x" 
                    Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" 
                    Storyboard.TargetName="ellipse">
                <EasingColorKeyFrame KeyTime="0" Value="Black"/>
                <EasingColorKeyFrame KeyTime="0:0:1" Value="White"/>
                <EasingColorKeyFrame KeyTime="0:0:2" Value="Black"/>
            </ColorAnimationUsingKeyFrames>
        </Storyboard>
    </UserControl.Resources>
    <Grid x:Name="LayoutRoot" Background="White">
        <Ellipse x:Name="ellipse" Fill="Black" Width="100" Height="100" />
    </Grid>
</UserControl>