Wpf 如何确定谁在调用prism eventaggregator订阅?或多个订阅呼叫

Wpf 如何确定谁在调用prism eventaggregator订阅?或多个订阅呼叫,wpf,prism,eventaggregator,subscribe,Wpf,Prism,Eventaggregator,Subscribe,我在一个视图模型中有一个subscribe方法,监听另一个视图模型中的发布事件。出于某种原因,我无法理解,当publish方法被激发时,subscribe方法会运行多次(在我的例子中,每次运行四次)。我在每次发布上都有断点,除了第一次发布调用之外,没有任何断点触发 调用堆栈不会随着订阅多个调用的发生而改变 我如何才能找出导致多个呼叫订阅的原因 更新:我发现这是一个“doh”答案。所讨论的viewmodel是表/网格行的viewmodel集合,自然地,添加到网格的行越多,添加到事件聚合器的订阅越多

我在一个视图模型中有一个subscribe方法,监听另一个视图模型中的发布事件。出于某种原因,我无法理解,当publish方法被激发时,subscribe方法会运行多次(在我的例子中,每次运行四次)。我在每次发布上都有断点,除了第一次发布调用之外,没有任何断点触发

调用堆栈不会随着订阅多个调用的发生而改变

我如何才能找出导致多个呼叫订阅的原因


更新:我发现这是一个“doh”答案。所讨论的viewmodel是表/网格行的viewmodel集合,自然地,添加到网格的行越多,添加到事件聚合器的订阅越多。我需要实现一些取消订阅逻辑,以摆脱我不想要的那些逻辑。

如果使用依赖项注入,是否可以创建一个满足IEventAggregator的虚拟包装器类,并路由到EventAggregator并捕获那里的所有订阅调用?我在ViewModel实例化和撕下选项卡控件的订阅中看到过这种行为。

尽管这不是问题的答案,但还是有帮助的。谢谢