Существует также возможность использовать свойства зависимости в вашей модели представления. Многим людям, похоже, не нравится это делать, потому что они являются частью wpf и имеют привязку к потоку (вы можете вызывать метод свойства зависимостей только из потока, создавшего этот перикулярный объект
Лично я никогда не обнаруживал, что это является проблемой, так как ваше представление зависит как от wpf, так и от привязки к потоку, так что вы, даже если используется INotifyPropertyChanged, все равно должны вызывать событие PropertyChanged из правильного потока.
Свойства зависимости имеют встроенную поддержку уведомлений и не требуют, чтобы wpf делал какие-либо отражения, поэтому они быстрее связываются с данными (но медленнее устанавливают / получают, хотя и в небольшом масштабе времени)
Ваш сценарий может отличаться от моего, но я думаю, что его стоит посмотреть:)