我有一个故事板,我想应用于点击的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>
答案 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