Самый чистый способ - извлечь из этих элементов управления и переопределить методы, которые сообщают об изменениях, которые вас интересуют. Например, получить из ContentControl
и реализовать OnContentChanged
. Этот подход может вам не понравиться.
Если вы хотите обнаружить изменения в дочерних или дочерних элементах управления, не производя их, вы можете заметить, что такие изменения будут влиять на макет, и поэтому вы можете перехватить событие LayoutUpdated
. Проблема с этим подходом заключается в том, что вам нужно отслеживать детей, которые были ранее добавлены самостоятельно, проверяя Child
или Children
в поисках изменений. Вы также должны быть осторожны, чтобы не зацепиться за ссылки на бывших детей, чтобы не вызвать утечку памяти. Но это можно сделать.