垃圾回收时,依赖关系对象被销毁\断开

问题描述:

当我们对任何依赖对象使用任何附加属性时,我将它实际上映射到属性和值与依赖对象。垃圾回收时,依赖关系对象被销毁断开

E.g. <DockPanel><TextBlock x:Name="MyText" DockPanel.Dock="Top"/></DockPanel>

这里值“顶”是通过依赖对象文本块“MYTEXT”

映射与DockPanels DockProperty但我的问题是,当设置在该映射?我问这个的原因是DockPanel的DockProperty是静态的\共享。所以它必须有这样的多重映射Pair(值,依赖对象)在某种内部字典中反对它。 (只是一个猜测)

因此,当依赖对象被销毁时,这必须被垃圾回收。

所以,现在我的观点是,有没有办法,我应该知道,如果这样的附加属性diposing正在发生(如某种dispairing的或给定的附加属性和依赖对象处理事件)?

此外,如果这样的垃圾收集不发生然后不是这是一个内存泄漏?

THX 摄影指导Vinit Sankhe。

据我了解WPF中的新属性系统,DependecyObject本身存储的值。 在你的例子中,这将是文本块。 您拨打的静态成员不要误会 - 这是应该等来实现:

element.SetValue(DockPanel.TopProperty, value); 

因此,有没有发生静态字段存储。

我认为它是使用WeakReference创建的。所以定期删除空引用。