title: Dependency Property + UserControl + ViewModel
body: <p>Given I have this UserControl:</p>
  <pre><code>public class MyStringUserControl : UserControl
  {
      public string MyString
      {
          get { return (string)GetValue(MyStringProperty); }
          set { SetValue(MyStringProperty, value); }
      }
  
      public static readonly DependencyProperty MyStringProperty =
          DependencyProperty.Register(&quot;MyString&quot;, typeof(string), typeof(MyStringUserControl),
              new FrameworkPropertyMetadata(null));
  }
  </code></pre>
  <p>And this ViewModel:</p>
  <pre><code>public class MyStringViewModel
  {
      public string MyString { get; set; }
  }
  </code></pre>
  <p>Now I use the MyStringUserControl in another View like this:</p>
  <pre><code>&lt;controls:MyStringUserControl MyString=&quot;{Binding SomeStringProperty} /&gt;
  </code></pre>
  <p>I'am looking for an elegant way to bind this string back to the MyStringViewModel. <br />
  I also don't feel comfortable with the fact that I have to duplicate every property in the UserControl code behind and ViewModel. Is there a better way to do this?</p>
  <h3>Edit #1:</h3>
  <p>The reason I want to do this is because of unit testing (creating a UserControl takes very long even without InitializeComponent)</p>