2010-05-04 2 views
1

У меня есть ItemsControl, который использует DataTemplate для отображения свойств в моем customClass, реализующий INotifyPropertyChanged ...памяти с WPF и ItemsControl (VB.NET)

Довольно просто ...

Некоторых элементов в DataTemplate использует CommandBindings (например, кнопки), а некоторые имеют некоторый код (yuck).

Когда я опорожняю ItemsControl и устанавливаю все экземпляры customClass = Nothing, память из моей программы не освобождается. Это становится проблемой довольно быстро!

Любая идея, где я должен начать искать? Я даже зашел так далеко, чтобы полностью пересечь визуальное дерево каждого экземпляра DataTemplate и установить каждый Visual = Nothing.. Я не очень, если это должно иметь какой-то эффект.

ответ

1

Не совсем уверен, где искать все, но определенно проверьте, не созданы ли основные соединения событий.

Если присутствует функция делегирования события, обязательно удалите ее.

Если проблема связана с командами, попробуйте найти способ очистить привязку Command при настройке на ничего.

Кроме того, более решительные, начните искать WeakReferences и т. Д., Пока вы не сможете точно определить, что вызывает утечку (утечки).

Счастливая охота!