【发布时间】:2011-12-15 05:01:47
【问题描述】:
长话短说……这是在一个大型 WPF 项目中
我有一个实现INotifyPropertyChanged 的“Patient”类。当我处理这个类时,我正在检查PropertyChangedEventHandler 是否为空,如果没有,则将其运行到记录侦听器的ListenerDetector 类,以便我们可以跟踪它们并清除泄漏。 Patient 确实有一些属性绑定到 WPF 元素以及使用其PropertyChanged 来监视更改的其他对象。
在处理完其他所有内容后,我的日志结果如下:
日志:患者仍附加以下侦听器: -
System.ComponentModel.PropertyChangedEventManager
问题:
PropertyChangedEventManager 是什么时候创建的?
- 创建患者时
- 当 WPF 绑定到 Patient 属性时
- 其他一点。
如果Patient.PropertyChangedEventHandler 设置为null 并因此与PropertyChangedEventManager 断开连接,有没有办法重新创建管理器并让它再次收听Patient.PropertyChangedEventHandler?请不要问为什么会发生这种情况,这是一个紧张的地方:-(
【问题讨论】:
标签: .net wpf memory-leaks inotifypropertychanged