2009-01-20 30 views
0

我有一個WPF窗體,我正在與數據綁定。我從INotifyPropertyChanged中獲得了事件,但我想知道如何獲取正在監聽的項目列表,以及如何激活已連接的處理程序。找出誰正在收聽PropertyChangedEventHandler在c#

我該怎麼做?

+0

我不明白你描述的場景。你有樣品代碼嗎?當我讀到它時,你正在傾聽對象上的事件,並且想要在聽衆中發現其他聽衆是誰。 – 2009-01-20 15:14:27

回答

1

你對正在聽的項目有什麼意義?

您是否想知道哪些控件是綁定到您的屬性的數據,或者您是否想要連接到PropertyChanged事件的事件處理程序列表?

後者可以通過調用事件的GetInvocationList來完成。

0

在您的事件實例上調用GetInvocationList()。 你會得到一個代表數組(如果有的話):Delegate []。對於每個委託你可以檢查Method屬性 - 獲取充當監聽器的方法的MethodInfo;或Target屬性 - 獲取偵聽器方法定義的對象實例

0

感謝所有答案,我設法將它追蹤到不同屬性上的空引用(相當幸運的發現!)