Silverlight:重复故事板形状动画

发布于 2024-10-25 04:30:21 字数 1039 浏览 3 评论 0原文

我正在创建 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 或者是否存在更智能的方法?

谢谢。

I'm creating Silverlight application. I need to make some shape blinking few times.

Here what I have now (simplified code):

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

I set animation of blinking for 1 time (black color of circle -> white -> black again) in storyboard. Tell me please, how can I make it repeat, say 5 times more? Do I need to copy-paste tag EasingColorKeyFrame or there more smart way exist?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等风来 2024-11-01 04:30:21

RepeatBehavior 属性添加到 元素。 @MSDN

Add a RepeatBehavior attribute to your <ColorAnimationUsingKeyFrames> element. @MSDN

蓦然回首 2024-11-01 04:30:21

将 RepeatBehavior="6x" 放在 ColorAnimationUsingKeyFrames 上,如下所示:

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

Put RepeatBehavior="6x" on your ColorAnimationUsingKeyFrames as follows:

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文