我有一个Canvas,需要为其设置RenderTransform属性的动画。开始和结束矩阵将是任意的,因此我无法在XAML中预先编写情节提要,因此我尝试在代码中进行操作,找不到任何如何执行此操作的示例,以下是我的最佳尝试这不起作用(它可以编译并运行,但是rendertransform不会改变)。
关于应该如何做的任何建议?
MatrixAnimationUsingKeyFrames anim = new MatrixAnimationUsingKeyFrames();
MatrixKeyFrameCollection keyframes = new MatrixKeyFrameCollection();
DiscreteMatrixKeyFrame start = new DiscreteMatrixKeyFrame(fromMatrix, KeyTime.FromPercent(0));
DiscreteMatrixKeyFrame end = new DiscreteMatrixKeyFrame(toMatrix, KeyTime.FromPercent(1));
keyframes.Add(start);
keyframes.Add(end);
anim.KeyFrames = keyframes;
Storyboard.SetTarget(anim, World.RenderTransform);
Storyboard.SetTargetProperty(anim, new PropertyPath("Matrix"));
Storyboard sb = new Storyboard();
sb.Children.Add(anim);
sb.Duration = TimeSpan.FromSeconds(4);
sb.Begin();
最佳答案
尽管我使用的解决方案无法应对旋转或剪切,但今天早上我遇到了这个问题。 link