In WPF databinding, INotifyPropertyChanged is used to inform the WPF controls about the the changes happened in the viewmodel properties. Because Text property of the TextBox control is a dependency object. So, by default, dependency object will be listening to the PropertyChanged event from the bound viewmodel property. That’s why changes from reflected to textbox.
But you have not done any code that informs view model property about the changes happened in the textbox. You can use UpdateSourceTrigger that is available in “Binding” class which is used in markup extension. This UpdateSourceTrigger accept different values. But below 2 are majorly used
“LostFocus” – Once you set this, textbox value gets changed, will be updated to view model property, whenever the textbox has lost focus.
“PropertyChanged” – This option will update the view model right after you type any single character.
<StackPanel Grid.Row="1" Orientation="Vertical">
<TextBlock Text="{Binding Employee.FirstName, UpdateSourceTrigger=LostFocus}" HorizontalAlignment="Left" MinWidth="130" VerticalAlignment="Center" Margin="0,5,0,5" />
<TextBlock Text="{Binding Employee.LastName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" MinWidth="130" VerticalAlignment="Center" Margin="0,5,0,5" />
</StackPanel>