INotyfyPropertyChanged, грубо говоря необходимо реализовать этот интерфейс в объекте привязки, при изменении свойств необходимо вызывать событие PropertyChangedEventHandler, которое уведомляет свойство, к которому идет привязка о изменении объекта привязки. DependencyProperty реализует этот интерфейс. Одним словом, если мы пишем так