Выяснение, кто слушает PropertyChangedEventHandler в c # - PullRequest
0 голосов
/ 20 января 2009

У меня есть форма WPF, и я работаю с привязкой данных. Я получаю события, вызванные из INotifyPropertyChanged, но я хочу посмотреть, как получить список того, какие элементы прослушивают, и я запускаю подключенный обработчик.

Как я могу это сделать?

Ответы [ 4 ]

2 голосов
/ 20 января 2009
1 голос
/ 20 января 2009

Что вы имеете в виду с Предметами, которые слушаете?

Хотите знать, какие элементы управления привязаны к вашей собственности, или вы хотите иметь список обработчиков событий, связанных с событием PropertyChanged?

Последнее можно сделать, вызвав GetInvocationList для события.

0 голосов
/ 28 января 2009

Спасибо за ответы на все вопросы, мне удалось отследить нулевые ссылки на другое свойство (довольно удачная находка!)

0 голосов
/ 20 января 2009

Вызовите GetInvocationList () для вашего экземпляра события. Вы получите массив делегатов (если есть): Delegate []. Для каждого делегата вы можете проверить свойство Method - чтобы получить MethodInfo метода, который действует как слушатель; или свойство Target - для получения экземпляра объекта с указанием метода слушателя

...