无法解析指定对象的 TargetProperty (UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)“的异常解决
最近在写动画的时候做一个倒计时的效果,就是数字从大到小的一个动画,但是当我设置要new PropertyPath("XXXXXXX")的时候却报了标题的异常,各种报错。百度了好久也无果,因为大
家都有界面设计或是Blend设计后报的错。言归正传。
Storyboard.TargetProperty的设置是动画中的非常重要的,如果此属性设置错误,动画效果是不会显示的,并且会出现错误。
要动画实现RenderTransform属性必须先要在定义控件时先声明RenderTransform属性。否则将会报“无法解析指定对象的的错误” 看代码:
Storyboard storyboard = new Storyboard();
//必要声明 否则报错
TransformGroup Group = new TransformGroup();
Group.Children.Add(new ScaleTransform());
this.RenderTransform = Group;
DoubleAnimation Animation_ScaleX = new DoubleAnimation()
{
To = 2,
Duration = new TimeSpan(0, 0, 1),
};
Storyboard.SetTarget(Animation_ScaleX, this);
Storyboard.SetTargetProperty(Animation_ScaleX, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"));
storyboard.Children.Add(Animation_ScaleX);
你的链接属性里面包含了 (TransformGroup.Children)[0] 那就必须在上面声明一下,然后你要加载的效果都Group.Children.Add()到TransformGroup里面去。这样就不会报错了