The UI of the application has two TextBlock controls to represent the data and one TextBox to get input from the user. In the first TextBlock control, we have multiple <Run/> commands to bind the data value from the Person class, along with other static texts and a Hyperlink to create a link. The data of the UI class is bound to the DataContext, which is PersonDetails in our case. The properties binded to the UI come from the Person class, which is the data type of the PersonDetails dependency property.
The TextBox control is bound to the Experience property, which is again bound to the third Run command of the first TextBlock. Hence, it is showing 10 in both places. Now change the value of the TextBox control to 15 and press the TAB key to change the focus. This will trigger the TextChanged event of the TextBox and modify the underlying property named Experience. Due to its nature, the notification will be automatically sent to the UI and the TextBlock control will...