In the preceding example, the Department property has a data binding with the TextBlock control and thus the associated TextBlock displays the text returned by the property. Similarly, the PersonName property has a data binding with a TextBox control. As the data binding has been made to the Text property of the TextBlock (with TwoWay mode), it automatically updates the associated property when the user changes it in the UI.
So, when you hit the Submit button, the OnSubmit event triggers, and it directly reads the PersonName property instead of fetching the text from the UI by accessing the Text property of the TextBox control.
When you hit the Reset button, the OnReset event triggers and it sets the PersonName property to an empty string. But the UI does not change. This is because the CLR property does not have a notification mechanism to automatically update the UI when a value change happens to it.
To overcome this, WPF uses the INotifyPropertyChanged interface, which...