我只是想知道在窗口关闭后数据绑定是否仍然响应源更改事件.如果是这样,如何释放所有数据绑定.
我在MSDN中找到的所有内容都是Unloaded事件的句子:"当引发Unloaded时,作为事件源父元素(由Parent属性确定)或逻辑树或可视树中任何给定元素向上的元素可能已经存在未设置,这意味着数据绑定,资源引用和样式可能无法设置为其正常或上次已知的运行时值."
但它说"可能没有",所以我仍然不知道它会不会.它还表示如果应用程序正在关闭,则Unloaded事件不会引发.
我找到了BindingOperation.ClearAllBindings().但似乎只清楚一个对象.要清除所有内容,我应该递归清除可视树还是逻辑树?
一旦垃圾收集器清理了窗口,它将被解除绑定。
在手动处置 SqlConnections 而不关闭它们时,您可以看到类似的行为。一旦 GC 清理掉它们,连接就会关闭。在那之前,您可能会耗尽连接池。
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |