2010-05-04 282 views
1

我有一個使用一個DataTemplate,以顯示我的customClass實現INotifyPropertyChanged的屬性一個ItemsControl ...內存泄漏

很簡單...

在某些項目DataTemplate使用CommandBindings(比如按鈕),還有一些有一些代碼隱藏(yuck)。

當我清空ItemsControl並設置所有實例customClass = Nothing時,沒有內存從我的程序中釋放。這很快就會成爲問題!

任何想法,我應該開始尋找?我甚至已經完全遍歷每個DataTemplate實例的可視化樹,並設置每個Visual = Nothing.但我並不真的假設它應該有什麼效果。

回答

1

不完全確定所有的位置,但必須檢查是否存在潛在的事件連接。

如果存在事件委託添加操作,請務必將其刪除。

如果命令綁定看起來是問題,請考慮查找設置爲無效時清除命令綁定的方法。另外,更激烈的是,開始尋找使用WeakReferences等,直到你至少可以查明是什麼導致了泄漏(s)。

快樂狩獵!