基本上,我在画布上加载了多个多边形(其数量由用户在画布上为他/她想要的每个多边形单击确定)。然后,当用户单击“播放”按钮时,我希望能够为这些多边形设置动画。关于如何做到这一点的任何想法?或者是否有可能?到目前为止,我只学习了如何将Storyboard应用于在应用程序启动之前创建的元素。
答案 0 :(得分:0)
希望这会有所帮助:Creating an Animation in Procedural Code
每个多边形需要一个故事板实例(如果要独立控制它们),或者需要将多个DoubleAnimation添加到一个故事板,每个故事板都指向一个多边形的x或y位置。
这完全取决于你想要展示的动画类型。你能详细说明吗?
答案 1 :(得分:0)
这是一个例子......
<Window.Resources>
<Storyboard x:Key="storyboard">
<DoubleAnimation Storyboard.TargetName="someElement" Storyboard.TargetProperty="Angle" From="0.00" To="-90" Duration="00:00:0.5" AccelerationRatio="1" ></DoubleAnimation>
<DoubleAnimation Storyboard.TargetName="someOtherElement" Storyboard.TargetProperty="Angle" From="90" To="0" Duration="00:00:0.5" DecelerationRatio="0.5" ></DoubleAnimation>
</Storyboard>
</Window.Resources>
Storyboard sb = (Storyboard)this.FindResource("storyboard");
DoubleAnimation da1 = (DoubleAnimation)sb.Children[0];
DoubleAnimation da2 = (DoubleAnimation)sb.Children[1];
da1.SetValue(Storyboard.TargetNameProperty, "changeTargetElement");
da2.SetValue(Storyboard.TargetNameProperty, "changeOtherTargetElement");
sb.Begin(this, true);