2 回答
TA贡献1786条经验 获得超11个赞
不好意思在这里提问。我真的很想知道为什么代码会出现一些错误,例如:无法输入“System.Windows.Media.Media3D.MatrixTransform3D”对象强制转换为类型“System.Windows.Media.Media3D.Transform3DGroup。
Transform3DGroup modelTransformGroup = (Transform3DGroup)_myModel.Transform; TranslateTransform3D curTransform (TranslateTransform3D)modelTransformGroup.Children[1];
TA贡献1942条经验 获得超3个赞
我在这篇文章中找到了答案,它也指向了这篇文章。原来你必须为你的转换注册一个名称并设置目标名称而不是目标。这是因为转换不是 FrameworkElement 的一部分。
下面是我的工作代码集。
Transform3DGroup modelTransformGroup = (Transform3DGroup)_myModel.Transform;
TranslateTransform3D curTransform = (TranslateTransform3D)modelTransformGroup.Children[1];
var moveX = new DoubleAnimation(0, 1000, TimeSpan.FromSeconds(5));
RegisterName("Translate", translate);
Storyboard.SetTargetName(moveX, "Translate");
Storyboard.SetTargetProperty(moveX, new PropertyPath(TranslateTransform3D.OffsetXProperty));
var sb = new Storyboard();
sb.Children.Add(moveX);
sb.Begin(this);
我测试了几种不同的模型类型。这似乎适用于继承 Visual3D 的任何类型的对象。
- 2 回答
- 0 关注
- 44 浏览
添加回答
举报