2012-02-23 4 views
3

Мне интересно, можно ли получить все привязки, которые имеют заданные DependencyProperty, установленные как их источник?Получить все привязки к DependencyProperty

Я искал класс DependencyPropertyDescriptor через метод DependencyPropertyDescriptor.FromProperty(DependencyProperty, Type), к сожалению без успеха. Он позволяет регистрировать прослушиватель для уведомления об изменении, но не имеет возможности проверять зарегистрированных слушателей (будучи привязками в моем случае).

Я также посмотрел класс BindingOperation, где все операции работают только при привязке целей, а не источников.

Этого было бы достаточно, если бы я мог взять в руки делегат многоадресной передачи зарегистрированных слушателей и получить список вызовов.

Редактировать

После использования какой-то отражатель магии я решил попробовать закреплять в Add/Remove методы ValueChanged на PropertyDescriptor путем реализации ICustomTypeDescriptor и перехватывать метод GetProperties. Оттуда я мог перехватить делегатов, которые регистрируются для уведомлений об изменении ...

ответ

1

Ну, мне также было бы интересно узнать это! Вероятно, Microsoft никогда не давала такого API, потому что требовала встречную зависимость. В WPF GUI (Target!) Является драйвером для изменения значений зависимостей, поэтому все свойства зависимостей растут или присоединяются к целевому gui, поэтому API-интерфейсы ориентированы на цели, чем источники (что может быть много для этой цели!).

Смежные вопросы