I have both VS2008 and VS2010 installed, and I see a very strange behavior
In VS2008, I have a simple WPF app:
<TextBox x:Name="textbox" Text="{Binding Path=MyProperty,Mode=TwoWay}"></TextBox>
and
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";
}
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.
Interestingly this same code works in VS2010, the UI gets updated with Coerced value. Anybody has an idea whats happening?
Is it a WPF bug? or am I missing something?