title: OneWayToSource Binding seems broken in .NET 4.0
body: <p><code>OneWayToSource</code> Binding seems broken in .NET 4.0</p>
  
  <p>I have this simple piece of Xaml</p>
  
  <pre><code>&lt;StackPanel&gt;
      &lt;TextBox Text="{Binding TextProperty, Mode=OneWayToSource}"/&gt;
      &lt;Button/&gt;
  &lt;/StackPanel&gt;
  </code></pre>
  
  <p>And my code behind looks like this</p>
  
  <pre><code>public MainWindow()
  {
      InitializeComponent();
      this.DataContext = this;
  }
  private string m_textProperty;
  public string TextProperty
  {
      get
      {
          return "Should not be used in OneWayToSource Binding";
      }
      set
      {
          m_textProperty = value;
      }
  }
  </code></pre>
  
  <p><strong>In .NET 3.5</strong> this works as you might except. Put some text in the <code>TextBox</code>, press Tab to make it lose Focus, and the <code>TextProperty</code> updates with whatever text that was entered in the <code>TextBox</code></p>
  
  <p><strong>In .NET 4.0</strong>, if I type some text in the <code>TextBox</code> and then press Tab to make it lose Focus, the <code>TextBox</code> reverts to the value for <code>TextProperty</code> (meaning <strong>"Should not be used in OneWayToSource Binding"</strong>). Is this re-reading intended for a <code>OneWayToSource</code> Binding in .NET 4.0? I just want the <code>TextBox</code> to push its value into the <code>TextProperty</code> and not the other way around.</p>
  
  <p><strong>Update</strong><br>
  Adding a Bounty to this question as this has become a mayor inconvenience in my project and I would like to know the reason that this has changed. It seems that <code>get</code> is called after the Binding has updated the source. Is this the desired behavior for a <code>OneWayToSource</code> Binding in .NET 4.0?</p>
  
  <p><strong>If Yes</strong></p>
  
  <ul>
  <li>What was the problem with the way it worked in 3.5?</li>
  <li>In what scenarios is this new behavior better?</li>
  </ul>
  
  <p><strong>Or</strong> is this in fact a bug that we can hope to get fixed in a future release?</p>