title: Dependency Property Coercion binding issues
body: <p>I have both VS2008 and VS2010 installed, and I see a very strange behavior </p>
  
  <p>In VS2008, I have a simple WPF app:</p>
  
  <pre><code>&lt;TextBox x:Name="textbox" Text="{Binding Path=MyProperty,Mode=TwoWay}"&gt;&lt;/TextBox&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>public Window1()
  {
      InitializeComponent();
      DataContext = this;
  }
  public string MyProperty
  {
      get { return (string)GetValue(MyPropertyProperty); }
      set { SetValue(MyPropertyProperty, value); }
  }
  public static readonly DependencyProperty MyPropertyProperty = DependencyProperty.Register("MyProperty", typeof(string), typeof(Window1), new PropertyMetadata("default",null,Coerce));
  
  private static object Coerce(DependencyObject d, object baseValue)
  {
      return "Coerced Value";
  }
  </code></pre>
  
  <p>When I enter random string in textbox and hit tab, I expect the textbox.Text to be reset to "Coerced Value". If I debug I see that the app breaks in the Coerce function but the UI is not updated.</p>
  
  <p>Interestingly this same code works in VS2010, the UI gets updated with Coerced value.
  Anybody has an idea whats happening?</p>
  
  <p>Is it a WPF bug? or am I missing something?</p>