编程语言
首页 > 编程语言> > c# – 在代码隐藏中将RotateTransform动画添加到Storyboard

c# – 在代码隐藏中将RotateTransform动画添加到Storyboard

作者:互联网

我在代码隐藏中定义了以下动画:

DoubleAnimation dbAscending = new DoubleAnimation(0, 15, new Duration(TimeSpan.FromMilliseconds(300)));
(myImage.RenderTransform as RotateTransform).BeginAnimation(RotateTransform.AngleProperty, dbAscending);

这很好用,启动时将myImage旋转15度.现在我只需创建新的Storyboard并将动画添加到其中,因为我需要使用其Completed事件.我有一点问题,我注意到我可以将动画添加到Storyboard.Children,但我没有设法定义我要将此动画应用于的对象和属性…

在此先感谢您的帮助,直到现在我才在XAML中创建故事板……

解决方法:

您需要在动画上设置Storyboard附加属性,例如:

DoubleAnimation dbAscending = new DoubleAnimation(0, 15, new Duration(TimeSpan.FromMilliseconds(300)));
Storyboard storyboard = new Storyboard();
storyboard.Children.Add(dbAscending);
Storyboard.SetTarget(dbAscending, myImage);
Storyboard.SetTargetProperty(dbAscending, new PropertyPath("RenderTransform.Angle"));

(未经测试;也可以直接定位变换并减少角度路径)

标签:c,animation,wpf,storyboard
来源: https://codeday.me/bug/20190614/1237314.html