title: How to invoke View methods from ViewModel using ViewModel-First approach
body: <p>I am developing a WPF application with architecture based upon Model-View-ViewModel pattern principles, using <a href="http://www.mvvmlight.net/" rel="nofollow noreferrer">MVVM Light toolkit</a> framework.</p>
  
  <p>The following XAML code is example of my View-ViewModel relation:</p>
  
  <pre><code>&lt;... .Resources&gt;
     &lt;DataTemplate DataType="{x:Type viewm:MediaElementViewModel}"&gt;
         &lt;view:MediaElement/&gt;
     &lt;/DataTemplate&gt;
  &lt;/... .Resources&gt;
  </code></pre>
  
  <p>I know it is possible to invoke View methods from ViewModel using <a href="https://stackoverflow.com/questions/10631748/mvvm-pattern-violation-mediaelement-play">View-First approach</a>, by assigning <code>MediaElement</code> instance's <code>DataContext</code> property when constructing the concrete <code>MediaElement</code>, unfortunately this is not a solution for me.</p>
  
  <p>View methods, for example, are <code>MediaElement</code>, such as <code>Play()</code>, <code>Pause()</code>, <code>Focuse()</code> or any other "pure" UI methods.</p>
  
  <p>Thanks a lot.</p>