2009-01-20 7 views
0

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

Как это сделать?

+0

Я не понимаю сценарий, который вы описываете. У вас есть образец кода? Когда я прочитал это, вы слушаете событие на объекте, и вы хотите узнать в своем слушателе, кто все остальные слушатели. –

+0

Я задал аналогичный вопрос. Вы можете посмотреть ответы здесь: http://stackoverflow.com/questions/242745/is-there-any-way-to-view-all-event-handlers-of-textbox-textchanged-event-in-visua –

ответ

1

Что вы хотите сказать, когда прослушивают?

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

Последний может быть выполнен путем вызова GetInvocationList в событии.

0

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

0

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