As for the reason for the INotifyPropertyChanged event, we had to use it because there is no RtfChanged event so if you want to bind to the property, the INotifyPropertyChanged is required to make the binding two-way.