我有一个班级NoteCompositeViewModel
,其中一个方法执行RaisePropertyChanged(string.Empty)
。如果通过此方法引发此事件,我怎样才能找到谁在听这个事件?我使用Visual Studio 2012和Resharper。
我试图调试应用程序,显然这个事件导致其他类运行各自的方法,但我需要知道哪些方法,以便我可以在其中放置断点。
答案 0 :(得分:1)
就调试而言,可能最简单的方法是在视图模型基类中的这一行放置一个断点:
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
点击F11或步入,您应该按顺序跟踪调用列表中的每个方法。
如果你在调试器中,你也可以检查" PropertyChanged"在观察窗口。如果展开得足够多,则可以看到完整的调用目标列表。其中一些是由于绑定 - 您可以告诉这些,因为目标将是基础结构类" System.Windows.Data.WeakPropertyChangedListener"。