【问题标题】:Do WPF Windows Dispose() their DataContexts?WPF Windows Dispose() 他们的 DataContexts 吗?
【发布时间】:2015-06-27 07:07:37
【问题描述】:

如果我将WindowDataContext 设置为实现IDisposable 的东西,当Window 关闭时它会是Dispose()d 吗?

【问题讨论】:

    标签: .net wpf resource-management


    【解决方案1】:

    不!

    WPF 根本没有真正使用IDisposable 接口——编写依赖它的 WPF 代码可能有点棘手。

    考虑使用类似Caliburn Micro 的东西,这是一个支持匹配视图和视图模型(分配给DataContext)的MVVM 框架,确实支持自动调用Dispose()。但是,在不了解您的具体情况的情况下,CM 可能超出您的场景所需。

    如果您对为什么 WPF 不使用IDisposable 感兴趣,StackOverflow 上有几篇帖子like this one 解决了这个问题。虽然这讨论了为什么不释放控件本身,但基本原理也适用于 DataContext,因为它只是控件的继承属性。

    【讨论】:

    • 谢谢!当WindowClosed 事件触发时,我最终只是清理了资源。
    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 2018-04-08
    • 1970-01-01
    • 2010-12-21
    • 2010-11-14
    • 1970-01-01
    • 2011-11-06
    • 2018-03-23
    相关资源
    最近更新 更多