Мое приложение WPF показывает дерево объектов, имеющих некоторые свойства.Эти свойства могут быть изменены из пользовательского интерфейса через привязки данных.Сами объекты могут быть добавлены или удалены.Ничего особенного.
Вопрос в следующем: Каков наилучший способ узнать об изменениях где-то в дереве объектов?
Идеи, рассмотренные до сих пор:
- Создайте статический метод, который будет вызываться каждым объектом при его изменении
- Создайте статическое событие для каждого типа объекта и прослушайте его
- Реализуйте
INotifyPropertyChanged
для каждого объекта и дайте им всем уведомлятьих родители об изменениях, чтобы я мог слушать одно событие в корне дерева объектов - Прослушивать события из элементов управления, таких как
TextChanged
, Checked
и т. д.
Они все выглядят какуродливая сетка, поэтому я боюсь что-либо из них реализовать.