gpt4 book ai didi

wpf - 附加依赖对象被销毁\断开连接时的垃圾收集

转载 作者:行者123 更新时间:2023-12-01 02:58:33 27 4
gpt4 key购买 nike

当我们对任何依赖对象使用任何附加属性时,我认为它实际上将属性和值映射到依赖对象。

例如。 <DockPanel><TextBlock x:Name="MyText" DockPanel.Dock="Top"/></DockPanel>
这里的值“Top”通过依赖对象文本块“MyText”与 DockPanels DockProperty 映射

但我的问题是这个映射什么时候处理?我问这个的原因是 DockPanel 的 DockProperty 是静态的\共享的。因此,它必须在某种内部字典中维护这样的多个映射对(值,依赖对象)。 (只是猜测)

所以这必须在依赖对象被销毁时进行垃圾回收。

所以现在我的观点是有什么方法可以让我知道是否正在发生这种附加属性处理(例如给定附加属性和依赖对象的某种 dispairing 或 dispose 事件)?

此外,如果没有发生这种垃圾收集,那么这不是内存泄漏吗?

谢谢
维尼特桑克。

最佳答案

据我了解 WPF 中的新属性系统, DependecyObject 本身存储该值。
在您的示例中,这将是文本块。
在调用静态成员时不要感到困惑 - 它应该像这样实现:

element.SetValue(DockPanel.TopProperty, value);

所以没有发生静态字段存储。

关于wpf - 附加依赖对象被销毁\断开连接时的垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com