我正在使用 C# 中的 3D 对象,并且我一直在尝试为立方体设置动画以使其在自己的轴上旋转。此外,我需要能够控制旋转方向并能够暂停动画。
我目前的方法是创建一个故事板并尝试访问在 XAML 上定义的“立方体”对象,但无济于事。谁能指出我做错了什么?
this.RegisterName("cube", cube);
myStoryboard = new Storyboard();
RotateTransform3D myRotateTransform = new RotateTransform3D(new AxisAngleRotation3D(new Vector3D(0, 1, 0), 0));
Rotation3DAnimation myRotationAnimation = new Rotation3DAnimation(Rotation,AnimationSpeed);
myRotationAnimation.RepeatBehavior = RepeatBehavior.Forever;
myRotateTransform.Rotation.BeginAnimation(AxisAngleRotation3D.AxisProperty, myVectorAnimation);
myStoryboard.Children.Add(myRotationAnimation);
Storyboard.SetTargetName(myRotationAnimation, "cube");
Storyboard.SetTarget(myRotationAnimation,cube.Transform);
myStoryboard.Begin();
此代码产生的错误是:
Cannot animate '(0)' on an immutable object instance.