2010-05-04 246 views
1

我有一个使用一个DataTemplate,以显示我的customClass实现INotifyPropertyChanged的属性一个ItemsControl ...内存泄漏

很简单...

在某些项目DataTemplate使用CommandBindings(比如按钮),还有一些有一些代码隐藏(yuck)。

当我清空ItemsControl并设置所有实例customClass = Nothing时,没有内存从我的程序中释放。这很快就会成为问题!

任何想法,我应该开始寻找?我甚至已经完全遍历每个DataTemplate实例的可视化树,并设置每个Visual = Nothing.但我并不真的假设它应该有什么效果。

回答

1

不完全确定所有的位置,但必须检查是否存在潜在的事件连接。

如果存在事件委托添加操作,请务必将其删除。

如果命令绑定看起来是问题,请考虑查找设置为无效时清除命令绑定的方法。另外,更激烈的是,开始寻找使用WeakReferences等,直到你至少可以查明是什么导致了泄漏(s)。

快乐狩猎!