同步播放动画的最佳方式?

时间:2015-02-25 13:30:16

标签: c# wpf animation

只要用户触发,我的应用程序就会从网上下载数据。用户可以触发多次下载。 每个下载都列在堆栈面板中,每个项目上都会显示一个忙碌图标,下载时正在旋转。

<Image x:Name="rotatingCircle" Source="{StaticResource busy_icon}" Height="30" RenderTransformOrigin=".5,.5" Visibility="Visible">
            <Image.RenderTransform>
                <RotateTransform x:Name="AnimatedRotateTransform" Angle="0" />
            </Image.RenderTransform>
            <Image.Style>
                <Style>
                    <Style.Triggers>
                        <Trigger Property="Image.IsEnabled" Value="True">
                            <Trigger.EnterActions>
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation
                                Storyboard.TargetProperty="RenderTransform.Angle"
                                From="0"
                                To="360"
                                Duration="0:0:1"
                                RepeatBehavior="Forever"/>
                                    </Storyboard>
                                </BeginStoryboard>
                            </Trigger.EnterActions>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Image.Style>
        </Image>

如何同步动画,以便每个圆圈以相同的角度旋转,无论它何时开始?

1 个答案:

答案 0 :(得分:0)

就我而言,将故事板存储在列表中就足够了。每次添加动画图标时,我只需遍历所有故事板并再次启动它们(sb.Begin())。 有一个小闪烁,因为每个元素都从初始位置开始,但它们同步运行绝对值。