天天看點

無法解析指定對象的 TargetProperty (UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)“的異常解決

原文: 無法解析指定對象的 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裡面去。這樣就不會報錯了

繼續閱讀