因为业务需要,需要在后台写动画代码,之前已经用Xaml写好代码并测试成功,那就照例改成C#就可以了,结果跑起出错了,如下图:
从错误的地方,后来经过查找测试,原因是用了Storyboard.SetTargetName代码,后来改成:
Storyboard.SetTarget(doubleAnimationOpacity, _dependencyObject);
即可。在后台写动画需要传入依赖对象,至于在Xaml中方式写使用Storyboard.SetTargetName
后来,继续运行代码,发现如下错误:
无法解析指定对象的 TargetProperty (UIElement.RenderTransform).(CompositeTransform.ScaleY)
经查找,需要加如下代码:
传参数private UIElement _element = null;
并加上:
_element.RenderTransform = new CompositeTransform();
这个RenderTransform没有声明或者声明错误了导致的