是否可以在Windows Phone 8的代码中更改故事板的目标?

时间:2014-01-02 10:01:41

标签: c# .net windows-phone-8 storyboard windows-store-apps

我有一个故事板,我想应用于点击的Windows.Shapes.Rectangle。这可能吗?有约束力的工作吗?

<Storyboard x:Name="TileClick">
    <ColorAnimation Duration="0:0:1" To="Red" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName= "{Binding}" d:IsOptimized="True"/>
</Storyboard>       

2 个答案:

答案 0 :(得分:3)

在为动画配置另一个目标之前,您必须停止实际的动画 像那样:

 ColorAnimation.Stop();
 Storyboard.SetTarget(ColorAnimation, myRectangle);
 ColorAnimation.Begin();

答案 1 :(得分:1)

您应该为ColorAnimation命名:

<ColorAnimation x:Name="Ca" Duration="0:0:1" To="Red" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName= "{Binding}" d:IsOptimized="True"/>

然后,您可以访问C#中的目标数据,如

Ca.TargetName = YOURTARGET;

Ca.SetValue(Storyboard.TargetNameProperty, YOURTARGET.Name); 

我还在stackoverflow上找到另一个答案:Windows Phone - Storyboard TargetName in runtime

如果其他人不能使用另外一个代码

Storyboard.SetTarget(myDoubleAnimation1, myRectangle);

来源:http://blogs.msdn.com/b/silverlight_sdk/archive/2008/03/24/create-an-animation-in-code.aspx