是否可以在相同的开始时间为不同的控件启动相同的动画

时间:2014-07-14 14:33:32

标签: c# storyboard windows-phone wpf-animation doubleanimation

我有一个带双动画的故事板,

<Storyboard x:Name="Storyboard1">
        <DoubleAnimation From="0" To="200" Duration="0:0:2" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)">

        </DoubleAnimation>
    </Storyboard>

我只是动态添加TargetNameProperty,

 private void set_animation_for_images(string target_name)
    {
        Storyboard1.Stop();

        Storyboard1.SetValue(Storyboard.TargetNameProperty, target_name);

        Storyboard1.Begin();
    }

下面  是否可以在相同的开始时间为不同的图像连续调用此set_animation_for_images()方法?

1 个答案:

答案 0 :(得分:0)

因为您只有一个故事板,所以您一次只能定位一个元素。要一次定位多个图像,您可能需要在代码中生成整个图像:

private void animateImage(string target)
{
     Storyboard testStoryboard = new Storyboard();
     ...

     testStoryboard.SetValue(Storyboard.TargetNameProperty, target_name);
     testStoryboard.Begin();
}

如果所有图像都在容器中,您可以始终以容器本身为目标,但这可能无法获得您想要的效果。