【发布时间】:2013-03-09 19:31:28
【问题描述】:
我已经实现了一个用户控件,其中包含一个绑定到列表的 ListBox:
listBox1.ItemsSource = list;
我已经实现了一个删除(唯一)对列表的引用的方法:
listBox1.ItemsSource = null;
调用此方法后,我强制进行垃圾回收:
GC.Collect();
我的列表类的析构函数没有被调用。显然有一些对列表的隐藏引用。
我们将不胜感激地收到任何对此行为的解释。
【问题讨论】:
-
你试过
Gc.Colect(); Gc.WaitFor(); Gc.Collect();吗? -
是要删除 ItemSource 对列表的引用,还是要 ListBox 为空?
-
我要删除引用
-
在将 ItemsSource 设置为 null 后,您是否看到 listBox1 中的变化?
-
WPF 可能会保留一些引用,但为了获得更好的图片,您必须发布更完整的代码。什么是列表,在
= null之后多久调用Collect()?
标签: c# wpf data-binding listbox