title: Creating UserControl via MVVM pattern - DataContext and binding to parent
body: <p>I use MVVM pattern so my own control contains View and ViewModel.<br>
  ViewModel is connected with View by DataContext property. This makes problems with binding. Why? </p>
  
  <p>Assume this situation:<br>
  I created new user control - for example - "SuperTextBox". It have a property "SuperValue".<br>And now I do something like that:</p>
  
  <pre><code>&lt;Window&gt;
      &lt;Window.DataContext&gt;
          &lt;vm:WindowViewModel/&gt;
      &lt;/Window.DataContext&gt;
  
      &lt;local:SuperTextBox SuperValue="{Binding Test}"/&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>I thought that "binding process" joins SuperTextBox.SuperValue with Window.DataContext.Test, but no, 'binding process" joins SuperTextBox.SuperValue with SuperTextBox.DataContext.Test what is for me unnatural and misleading.</p>
  
  <p>Other controls like "TextBox" I can use in above way because they do not have their DataContext.</p>
  
  <p>How can I use MVVM pattern to creating UserControls keeping natural binding (to DataContext of parent control) ?</p>
  
  <p>Edit:</p>
  
  <p><strong>I got many answers how binding to parent, but I know this earlier. The problem is - how can I create UserControl via MVVM patern (having ViewModel) and stay natural binding - default to parent DataContext.</strong></p>
  
  <p>I want to have ViewMoldel and still can binding like this:</p>
  
  <pre><code>&lt;local:SuperTextBox SuperValue="{Binding Test}"/&gt;
  </code></pre>
  
  <p>Is it possible?</p>