关闭WPF窗口是否还会释放其所有数据绑定?

时间:2011-03-22 07:20:41

标签: wpf binding

我只是想知道在窗口关闭后数据绑定是否仍然响应源更改事件。如果是这样,如何释放所有数据绑定。

我在MSDN中找到的所有内容都是Unloaded事件的句子: “当引发Unloaded时,作为事件源父元素(由Parent属性确定)或逻辑树或可视树中任何给定元素向上的元素可能已经取消设置,这意味着数据绑定,资源引用和样式可能未设置为正常或上次已知的运行时值。“

但它说“可能不会”,所以我仍然不知道它会不会。并且它还表示如果应用程序正在关闭,则Unloaded事件不会引发。

我找到了BindingOperation.ClearAllBindings()。但似乎只清楚一个对象。要清除所有内容,我应该递归清除可视树还是逻辑树?

1 个答案:

答案 0 :(得分:0)

垃圾收集器清理窗口后,它将被解除绑定。

在手动处理SqlConnections而不关闭它们时,您可以看到类似的行为。 GC清理后,连接关闭。在那之前,您可能会耗尽连接池。