2011-09-09 94 views
0

我在一個視圖模型中的訂閱方法偵聽另一個視圖模型中的發佈事件。出於某種原因,我無法弄清楚,在發佈發佈方法時,訂閱方法會多次運行(在我的情況下每次運行四次)。每次發佈和第一次發佈呼叫之外,我都有斷點,他們都沒有發射。如何確定誰在調用棱鏡eventaggregator訂閱?或多個訂閱調用

調用堆棧不會隨着訂閱多個調用的發生而改變。

我怎樣才能找出是什麼導致多次調用訂閱發生?

UPDATE:我發現這是一個'doh'的答案。有問題的視圖模型是表格/網格線的視圖模型的集合,當然,添加到網格的行數越多,訂閱者被添加到事件聚合器的數量就越多。我需要實施一些取消訂閱邏輯來擺脫我不想要的。

回答

0

如果你對此使用依賴注入,你可以創建一個滿足IEventAggregator和路由到EventAggregator的虛擬包裝類,並捕獲所有的訂閱調用嗎?我已經看到這種行爲發生在ViewModel實例化和撕下標籤控件的訂閱上。

+0

即使這不是問題的答案,它是有幫助的。謝謝 – Kevin

相關問題