Хорошо. Я только что наконец-то столкнулся с этой проблемой, и в Интернете НЕТ полных ответов, так что здесь есть недостающий фрагмент, о котором никто не упоминает (возможно, потому, что предполагается, что мы не полные дебилы и НЕ удалили конструктор по умолчанию). или alteast расширил конструктор по умолчанию) так или иначе:
Убедитесь, что вы НЕ удаляли InitializeComponent (); вызовите конструктор вашего представления.
Без этого вызова ДО ТОГО, как вы установите DataContext для представления, событие NotifyPropertyChanged ВСЕГДА БУДЕТ ПУСТО. Я потратил около 2 часов, пытаясь выяснить, что отличалось между двумя различными пользовательскими элементами управления MVVM. Я думаю, что мой разум так привык видеть InitializeComponent (); что он не зарегистрировал, что пропал без вести. Я добавил это обратно и альт!
Надеюсь, это поможет другим чайникам, как я!
Ура,
Код Воина Мало