Silverlight - Change the storyboard TargetName
February 6, 2008
I wanted to reuse the same animation for multiple objects, which should have been a simple task. Unfortunately, it took me a while to figure it out.
In theory, all I should need to do is set the Storyboard.TargetName property to a different object and I am done. I tried all kind of combinations and couldn’t get it to work.
Luckily, it’s a simple fix. Do NOT add the TargetName in the XAML. So your Storyboard might look like this:
<Storyboard x:Name=”sbMouseOver” >
<ColorAnimation Storyboard.TargetProperty=”(Fill).(Color)” To=”Red” Duration=”0:0:00.1″/>
</Storyboard>
In your code, you can assign the storyboard to any object by, stopping it, setting the TargetName then starting it. For example:
this.sbMouseOver.Stop();
this.sbMouseOver.SetValue<string>(Storyboard.TargetNameProperty, Rectangle2.Name);
this.sbMouseOver.Begin();
Posted in

content rss

Add New Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Add New Comment
Trackbacks