我正在开发一个UWP应用程序。
我试图通过在运行时创建一个故事板来动态旋转网格。但是,我在StoryBoard中找不到BeginAnimation()方法或TargetTyepe / TargetName属性,通过它我可以为我的网格设置动画。
您能为我建议一个可行的解决方法吗?如果可能,请分享代码。
提前致谢。
答案 0 :(得分:1)
您可以使用以下代码创建故事板:
<强> XAML 强>
<Grid x:Name="MyGrid">
<Grid.RenderTransform>
<RotateTransform/>
</Grid.RenderTransform>
</Grid>
<强> CS 强>
var sb = new Storyboard();
var anim = new DoubleAnimation();
Storyboard.SetTarget(anim, MyGrid);
Storyboard.SetTargetProperty(anim, "(UIElement.RenderTransform).(RotateTransform.Angle)");
anim.From = 0;
anim.To = 360;
anim.Duration = TimeSpan.FromSeconds(1);
sb.Children.Add(anim);
sb.Begin();
或者,您可以x:Name
代替RenderTransform
并直接将其设置为目标,而不是通过MyGrid
间接定位。