WPF Windows Dispose() 他们的 DataContexts 吗?
Do WPF Windows Dispose() their DataContexts?
如果我将 Window
的 DataContext
设置为实现 IDisposable
的东西,当 Window
关闭时它会是 Dispose()
d 吗?
没有!
WPF 根本不真正使用 IDisposable
接口 — 编写依赖它的 WPF 代码可能有点棘手。
考虑使用 Caliburn Micro 之类的东西,一个支持匹配视图和视图模型的 MVVM 框架(分配给 DataContext
)并且 支持自动调用 Dispose()
。但是,在不知道您的具体情况的情况下,CM 可能比您的场景需要的多一些。
如果您对为什么 WPF 不使用 IDisposable
感兴趣,Whosebug like this one 上有几篇文章可以解决这个问题。虽然这讨论了为什么不处置控件本身,但基本原理也适用于 DataContext
,因为它只是控件的继承 属性。
如果我将 Window
的 DataContext
设置为实现 IDisposable
的东西,当 Window
关闭时它会是 Dispose()
d 吗?
没有!
WPF 根本不真正使用 IDisposable
接口 — 编写依赖它的 WPF 代码可能有点棘手。
考虑使用 Caliburn Micro 之类的东西,一个支持匹配视图和视图模型的 MVVM 框架(分配给 DataContext
)并且 支持自动调用 Dispose()
。但是,在不知道您的具体情况的情况下,CM 可能比您的场景需要的多一些。
如果您对为什么 WPF 不使用 IDisposable
感兴趣,Whosebug like this one 上有几篇文章可以解决这个问题。虽然这讨论了为什么不处置控件本身,但基本原理也适用于 DataContext
,因为它只是控件的继承 属性。