Проблема, которую вы пытаетесь решить, на самом деле не требует интерфейса INotifyPropertyChanged. Это будет работать нормально, если вы удалите методы NotifyPropertyChanged и интерфейс INotifyPropertyChanged, а затем свяжетесь со свойством ValueFormatted.
Однако реализация INotifyPropertyChanged для классов, привязанных к пользовательскому интерфейсу, обычно является хорошей идеей:
"Интерфейс INotifyPropertyChanged используется для уведомления об изменении свойства и, следовательно, для принудительного связывания связанных объектов новым значением."
Это в основном означает, что если вы измените свойства объектов после того, как они были связаны, значения будут отражены в вашем пользовательском интерфейсе.
Шоу Silverlight дает хороший простой пример INotifyPropertyChanged