Storyboard.SetTargetProperty Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Causes the specified Timeline to target the specified dependency property.
Assembly: System.Windows (in System.Windows.dll)
Parameters
- element
- Type: System.Windows.Media.Animation.Timeline
The timeline with which to associate the specified dependency property.
- path
- Type: System.Windows.PropertyPath
A path that describe the dependency property to be animated.
| Exception | Condition |
|---|---|
| ArgumentNullException | One or more of the parameters is null. |
This method sets the TargetProperty attached property on the specified object. For more information about how storyboard targeting works, see TargetProperty.
A property path uses a string syntax that allows you to target animations and animate properties that come from a template and are therefore inaccessible or out of scope.
private void Create_And_Run_Animation(object sender, EventArgs e) { // Create a red rectangle that will be the target // of the animation. Rectangle myRectangle = new Rectangle(); myRectangle.Width = 200; myRectangle.Height = 200; Color myColor = Color.FromArgb(255, 255, 0, 0); SolidColorBrush myBrush = new SolidColorBrush(); myBrush.Color = myColor; myRectangle.Fill = myBrush; // Add the rectangle to the tree. LayoutRoot.Children.Add(myRectangle); // Create a duration of 2 seconds. Duration duration = new Duration(TimeSpan.FromSeconds(2)); // Create two DoubleAnimations and set their properties. DoubleAnimation myDoubleAnimation1 = new DoubleAnimation(); DoubleAnimation myDoubleAnimation2 = new DoubleAnimation(); myDoubleAnimation1.Duration = duration; myDoubleAnimation2.Duration = duration; Storyboard sb = new Storyboard(); sb.Duration = duration; sb.Children.Add(myDoubleAnimation1); sb.Children.Add(myDoubleAnimation2); Storyboard.SetTarget(myDoubleAnimation1, myRectangle); Storyboard.SetTarget(myDoubleAnimation2, myRectangle); // Set the attached properties of Canvas.Left and Canvas.Top // to be the target properties of the two respective DoubleAnimations. Storyboard.SetTargetProperty(myDoubleAnimation1, new PropertyPath("(Canvas.Left)")); Storyboard.SetTargetProperty(myDoubleAnimation2, new PropertyPath("(Canvas.Top)")); myDoubleAnimation1.To = 200; myDoubleAnimation2.To = 200; // Make the Storyboard a resource. LayoutRoot.Resources.Add("unique_id", sb); // Begin the animation. sb.Begin(); }