У меня есть несколько элементов управления в моем приложении (которые пользователь может добавить на холст), каждый из которых имеет различные свойства (в основном свойства зависимости). Пользователь может изменять свои свойства через сетку свойств (например, цвет, текст и т. Д.).
У меня реализована функция сохранения, поэтому, если пользователь вносит какие-либо изменения в canvas, мы просим его сохранить документ перед отъездом. В настоящее время я отслеживаю операции добавления / удаления / изменения размера (изменение флага IsChanged на true). Я также хочу отслеживать любые изменения свойств, сделанные пользователем, например, если он меняет цвет элемента управления через propertygrid.
Одно простое решение - обработать PropertyChangedCallback для каждого объекта и установить соответствующий флаг. Проблема в том, что мне придется писать PropertyChangedCallback для каждого объекта в каждом элементе управления, и в то же время мне нужно следить за тем, чтобы каждый добавленный объект делал то же самое.
Мой вопрос: Есть ли другой лучший способ отслеживания изменений свойств, скажем, в каком-то глобальном месте?