无法解析指定对象的 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里面去。这样就不会报错了

上一篇:ASP.NET MVC 和 WebForm的权限控制


下一篇:利用OpacityMask制作打洞效果