As Bob Horn says, binding properties are not exploded if they come from the target element (TextBox), that is, from your view. Look in your output window, you will see a message something like this:
A first chance exception of type 'System.Exception' occurred in WpfApplication4.exe An exception of type 'System.Exception' occurred in WpfApplication4.exe but was not handled in user code System.Windows.Data Error: 8 : Cannot save value from target back to source. BindingExpression:Path=Name; DataItem='VM' (HashCode=28331431); target element is 'TextBox' (Name=''); target property is 'Text' (type 'String') Exception:'System.Exception: BAM!
But, try setting the same property from your ViewModel constructor , the application will certainly explode.
As a side note, this is not valid for all exceptions, try doing this -
public string Texting { get { return _Texting; } set { _Texting = value; OnPropertyChanged("Texting"); throw new StackOverflowException("BAM!"); } }
This will certainly catch up with your global exception handler, since the application cannot be run in StackOverflow mode.
source share