在代码后面的Storyboard中添加RotateTransform动画

本文关键字:添加 RotateTransform 动画 Storyboard 代码 | 更新日期: 2023-09-27 17:54:05

我在代码后面定义了以下动画:

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中添加RotateTransform动画

您需要在动画上设置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"));

(未测试;也可以直接针对角度

的变换和减小路径