1

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

<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() 方法?

4

1 回答 1

0

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

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

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

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

于 2014-07-14T14:42:15.357 回答