Click here to Skip to main content
15,892,643 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
This is my full Code

C#
namespace WpfApplication71

{

    /// <summary>

    /// Interaction logic for MainWindow.xaml

    /// </summary>

    public partial class MainWindow : Window

    {

        Frame objframe;

      

        TransformGroup trGrp;

        TranslateTransform trTns;

        ScaleTransform trScl;



        public MainWindow()

        {

            InitializeComponent();

        }



        private void button1_Click(object sender, RoutedEventArgs e)

        {

            objframe = new Frame();

            objframe.Background = Brushes.Blue;

            trTns = new TranslateTransform();

            trScl = new ScaleTransform();

            trGrp = new TransformGroup();

            trGrp.Children.Add(trTns);

            trGrp.Children.Add(trScl);

            objframe.RenderTransform = trGrp; 

            objframe.Loaded += new RoutedEventHandler(objframe_Loaded);

            mygrid.Children.Add(objframe);



        }



        void objframe_Loaded(object sender, RoutedEventArgs e)

        {

            var sb1 = new Storyboard();



            var da1 = new DoubleAnimationUsingKeyFrames();

            da1.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0)), Value = 0 });

            da1.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(20)), Value = 1, KeySpline = new KeySpline(0, 0, 0.4, 0.969) });

            da1.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(25)), Value = 1, KeySpline = new KeySpline(0, 0, 0.4, 0.969) });

            Storyboard.SetTargetProperty(objframe, new PropertyPath("(UIElement.Opacity)"));

            Storyboard.SetTarget(da1, objframe);

            sb1.Children.Add(da1);



            var da3 = new DoubleAnimationUsingKeyFrames();

            da3.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0)), Value = 1 });

            da3.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(15)), Value = 0.8, KeySpline = new KeySpline(0, 0, 0.4, 0.969) });

            da3.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(15)), Value = 1 });

            da3.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(25)), Value = 1 });

            Storyboard.SetTargetProperty(da3, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"));

            Storyboard.SetTarget(da3, objframe);

            sb1.Children.Add(da3);

            var da5 = new DoubleAnimationUsingKeyFrames();

            da5.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0)), Value = 1 });

            da5.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(15)), Value = 0.8, KeySpline = new KeySpline(0, 0, 0.4, 0.969) });

            da5.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(15)), Value = 1 });

            da5.KeyFrames.Add(new SplineDoubleKeyFrame { KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(25)), Value = 1 });

            Storyboard.SetTargetProperty(da5, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"));

            Storyboard.SetTarget(da5, objframe);

            sb1.Children.Add(da5);

            sb1.Begin();

        }

    }

}



When i Click on the button Exception is occure

Must specify TargetProperty for 'System.Windows.Media.Animation.DoubleAnimationUsingKeyFrames'.

How can i solve this problem.
Posted
Updated 6-Feb-12 17:43pm
v2

1 solution

It is very hard to guess what the problem is but try using PropertyPathConverter when using complex paths (because I had the same problem recently and it solved my problem):

C#
Storyboard.SetTargetProperty(da5,
            (PropertyPath)new PropertyPathConverter().ConvertFromString(
            "(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"));


Hope it helps.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900