title: Implement interface with WPF MVVM pattern
body: <p>I wanna implement an interface(Add behavior) for set of WPF usercontrols.
  I'm using MVVM design pattern.
  Where I should implement the interface? in usercontrol code behind or in View model class?</p>
  
  <p>Ex:</p>
  
  <p>My Interface is</p>
  
  <pre><code>interface IWizard
  {
      event RoutedEventHandler MoveNext;
      event RoutedEventHandler MoveBack;
      event RoutedEventHandler Cancelled;   
  
      bool IsLast;
      bool IsFirst;
  }
  </code></pre>
  
  <p>Now in other place I wanna access user controls which are implemented this interface as this.</p>
  
  <pre><code> ((IWizard)userControl).MoveNext += ...
   ((IWizard)userControl).MoveBack += ...
   ((IWizard)userControl).IsLast = true; 
  </code></pre>
  
  <p>etc..</p>
  
  <p><strong>Implement in UserControl Code behind</strong></p>
  
  <p>I can't acess the interface's properties/methods directly in view model. I have to link them manually. right ?</p>
  
  <hr>
  
  <h2>PS: In this example I wanna Bind(TwoWay Bind) <code>IsLast</code> Property with a visibility of a button.</h2>
  
  <p><strong>Implement in View model class</strong></p>
  
  <p>I can't access the usercontrol as a Interface object. 
  ex: <code>((IWizard)userControl).MoveNext += ...</code></p>
  
  <p>What is the best practice on Implementing an Interface on Usercontrol with MVVM design Pattern?</p>