title: Change MVVM property from storyboard in XAML, after animation completes
body: <p>I have different user controls defined as ItemSource DataTemplates for ListView, all sharing one ViewModel:</p>
  
  <pre class="lang-cs prettyprint-override"><code>&lt;UserControl&gt;
    &lt;Grid&gt;
      &lt;Style&gt;
        &lt;Style.Triggers&gt;
          &lt;DataTrigger Binding="{Binding MyAwesomeProperty}" Value="True"&gt;
            &lt;DataTrigger.EnterActions&gt;
              &lt;BeginStoryboard&gt;
                &lt;Storyboard&gt;
                  &lt;DoubleAnimation&gt;
                   some awesome animation
                  &lt;/DoubleAnimation&gt;
                &lt;/Storyboard&gt;
              &lt;/BeginStoryboard&gt;
            &lt;/DataTrigger.EnterActions&gt;
          &lt;/DataTrigger&gt;
      &lt;/Style.Triggers&gt;
  &lt;/Style&gt;
  </code></pre>
  
  <pre class="lang-cs prettyprint-override"><code>public class AwesomeViewModel : ViewModelBase
  {
      private bool myAwesomeProperty= false;
      public bool MyAwesomeProperty
      {
          get { return myAwesomeProperty; }
  
          set
          {
              if (myAwesomeProperty!= value)
              {
                  myAwesomeProperty= value;
                  RaisePropertyChanged(() =&gt; MyAwesomeProperty);
              }
          }
      }
  }
  </code></pre>
  
  <p>Now, I want to start animation when MyAwesomeProperty changes to true. This is accomplished by DataTrigger. However, once animation is completed, I want to set the value of the MyAwesomeProperty back to false. </p>
  
  <p>As this logic is shared by multiple UserControls having the same ViewModel, I want pure MVVM solution, without Animation.Completed callbacks in the code-behind. Is this possible?</p>