title: Changing View on Buttonclick
body: <p>I am learning WPF and MVVM at the moment (or at least I am trying to...).</p>
  
  <p>I created a little sample-app, that shows a Window with 2 buttons, each of it should show a new View on Click. So I created 3 UserControls (DecisonMaker with the 2 Buttons, and one Usercontrol for each "clicktarget").</p>
  
  <p>So I bound the CotentControl of the MainWindow to a property called "CurrentView" in my MainWindowViewModel</p>
  
  <p>Code of MainWindow.xaml:</p>
  
  <pre><code>&lt;Window x:Class="WpfTestApplication.MainWindow"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:local="clr-namespace:WpfTestApplication"
      Title="MainWindow" Height="350" Width="525"&gt;
  &lt;Window.DataContext&gt;
      &lt;local:MainWindowViewModel /&gt;
  &lt;/Window.DataContext&gt;
  &lt;Grid&gt;
      &lt;ContentControl Content="{Binding CurrentView, Mode=OneWay}" /&gt;
  &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>Code of MainWindowViewModel:</p>
  
  <pre><code>class MainWindowViewModel
  {      
      private UserControl _currentView = new DecisionMaker();
      public UserControl CurrentView
      {
          get { return _currentView; }
          set { _currentView = value; }
      }
  
      public ICommand MausCommand
      {
          get { return new RelayCommand(LoadMouseView); }
      }
  
      public ICommand TouchCommand
      {
          get { return new RelayCommand(LoadTouchView); }
      }
  
      private void LoadMouseView()
      {
          CurrentView = new UserControlMouse();
      }
  
      private void LoadTouchView()
      {
          CurrentView = new UserControlTouch();
      }
  }
  </code></pre>
  
  <p>The initial UserControl (DecisionMaker) shows up as supposed. Also the method <code>LoadMouseView</code> is called. But the View doesn't change. What am I missing?</p>
  
  <p><strong>UPDATE:</strong> Thanks so much! I missed the INotifyPropertyChanged-interface. All of your answers were just great and very accurate and helpful! I don't know which one to accept - <del>I think it's the most fair way to accept the "first" answer?</del></p>
  
  <p>I accepted blindmeis answer, as it solved the problem and helped me understand MVVM better. But every answer was really great thanks to all of you!</p>