Storyboard.SetTarget Method
Causes the specified Timeline to target the specified object.
Namespace: System.Windows.Media.Animation
Assembly: System.Windows (in System.Windows.dll)
Parameters
- timeline
- Type: System.Windows.Media.Animation.Timeline
The timeline that targets the specified dependency object.
- target
- Type: System.Windows.DependencyObject
The actual instance of the object to target.
| Exception | Condition |
|---|---|
| ArgumentNullException |
One or more of the parameters is null. |
As with SetTargetName, the user is still required to hook up the desired property using SetTargetProperty for the animation. This is the same model as XAML: specify a target as well as a target property. The difference with the code model is that SetTarget sets the target by using an object reference, whereas XAML (and SetTargetName) sets the target by referencing an x:Name on that object.
This method supports the Storyboard.Target attached property.
The following example shows how to create a Storyboard using code.
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(); }
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.