2

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

4

1 回答 1

2

不!

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

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

如果您对WPF 不使用的原因IDisposable感兴趣,StackOverflow 上有几篇类似这个的帖子解决了这个问题。尽管这讨论了为什么不处置控件本身,但其基本原理也适用于DataContext,因为它只是控件的继承属性。

于 2015-04-20T13:55:54.163 回答