Я только что нашел ActiveSharp - Automatic INotifyPropertyChanged , я еще не использовал его, но он выглядит хорошо.
Чтобы процитировать его на веб-сайте ...
Отправить уведомления об изменении свойств без указания имени свойства как строки.
Вместо этого напишите свойства следующим образом:
public int Foo { get { return _foo; } set { SetValue(ref _foo, value); } // <-- no property name here }
Обратите внимание, что нет необходимости включать имя свойства в виде строки. ActiveSharp надежно и правильно определяет это для себя. Он работает на основе того факта, что ваша реализация свойства передает поле поддержки (_foo) по ссылке. (ActiveSharp использует этот вызов «ref» для определения того, какое поле поддержки было передано, и из поля оно идентифицирует свойство).