I am trying to adapt a simple WPF application to use the Model-View-ViewModel pattern. On my page I have a couple of animations:
<Page.Resources>
<Storyboard x:Name="storyboardRight" x:Key="storyboardRight">
<DoubleAnimation x:Name="da3" Storyboard.TargetName="labelRight" Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5" />
<DoubleAnimation x:Name="da4" Storyboard.TargetName="labelRight" Storyboard.TargetProperty="Opacity" From="1" To="0" BeginTime="0:0:1" Duration="0:0:0.5" />
</Storyboard>
...
</Page.Resources>
Currently I begin the animation in the code behind, and can listen to the Completed event to do something when it finishes with the following code:
storyboardRight = (Storyboard)TryFindResource("storyboardRight");
storyboardRight.Completed += new EventHandler(storyboardRight_Completed);
storyboardRight.Begin(this);
Is there a way of data binding the storyboard to my ViewModel so that it starts on an event raised by the ViewModel and can call-back into that ViewModel when it is finished?