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

5
我想知道在窗口关闭后,数据绑定是否仍然响应源更改事件。如果是的话,如何释放所有数据绑定。在MSDN中我只找到了Unloaded事件的一句话:“当卸载事件被触发并处理时,事件源父元素(由Parent属性确定)或任何逻辑或视觉树向上给定的元素可能已经被取消设置,这意味着数据绑定、资源引用和样式可能不会被设置为它们的正常或最后已知运行时值。”但它说“可能不会”,所以我还不知道它是否会。它还说,如果应用程序正在关闭,则不会触发Unloaded事件。我找到了BindingOperation.ClearAllBindings(),但似乎只能清除一个对象。要清除所有,我应该递归清除视觉树还是逻辑树?
1个回答

0

当垃圾回收器清理窗口时,它将变为未绑定状态。

手动处理未关闭的SqlConnection时,您可以看到类似的行为。一旦GC清理它们,连接就会关闭。在此之前,您可能会耗尽连接池。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接