title: wpf MvvM Command data-context issue
body: <p>I googled all I could but could not find exactly what I was looking for. I have few issues... </p>
  
  <p>This is my code structure:</p>
  
  <p>My Command Class:</p>
  
  <pre><code> public class BrowseCommand : ICommand 
   {
     //Code here
   }
  </code></pre>
  
  <p>Inside ViewModel:</p>
  
  <pre><code>public class ExampleViewModel
  {
      public ExampleViewModel()
      {
          BrowseCommand = new BrowseCommand();
      }
  
      public ICommand BrowseCommand
      {
          get;
          private set;
      }
    //More Code...
  }
  </code></pre>
  
  <p>MainWindow.xaml.cs:</p>
  
  <pre><code> public partial class MainWindow : Window
  {
      public MainWindow()
      {
          InitializeComponent();
          DataContext = new ExampleViewModel();
      }
  }
  </code></pre>
  
  <p>MainWindow.xaml:</p>
  
  <pre><code>Window x:Class="Ship32RcParser.MainWindow"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="MainWindow" Height="350" Width="525" &gt;
  
     &lt;Grid&gt;
         &lt;Button  Content="Browse" Command="{Binding BrowseCommand}"/&gt;
         &lt;Button  Content="Search" Command="{Binding I_NEED_HELP_HERE}"  /&gt;
     &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p><br>
  <br></p>
  
  <p>I understand that my Browse works fine because of MainWindow.xaml.cs has</p>
  
  <pre><code>DataContext = new ExampleViewModel();
  </code></pre>
  
  <p>However I do not like that </p>
  
  <ol>
  <li>I do not want to have anything in .cs file </li>
  <li>How do i have more
  than one datacontext - meaning     if I want to have command from
  different ViewModel     classes... I know its possible but its going
  to be bit ugly...</li>
  </ol>
  
  <p>When I was searching for solutions I came across dependencies. For example I could do in my xaml file something like this </p>
  
  <pre><code>xmlns:local="clr-namespace:myMvvMwpfProj.ViewModel"
  </code></pre>
  
  <p>and then use "local". However, when I tried it did not work as I expected it to work...
  I also saw something like </p>
  
  <pre><code>xmlns:local="using:myMvvMwpfProj.Command"
  </code></pre>
  
  <p>can someone explain those too please. Does "local" give me an access to classes? If I have CommandA, CommandB, CommandC classes. Should I be able to do local:CommandA.ExecuteFoo ?</p>
  
  <p>I guess the big question is how do I reference/access properties from different objects. in Xaml</p>
  
  <p>thank you all in advance</p>