.net - WPF Windows 是否 Dispose() 它们的 DataContext?

标签 .net wpf resource-management

如果我将 WindowDataContext 设置为实现 IDisposable 的内容,它会是 Dispose() >d Window 何时关闭?

最佳答案

不!

WPF 根本没有真正使用 IDisposable 接口(interface),并且编写依赖于它的 WPF 代码可能有点棘手。

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

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

关于.net - WPF Windows 是否 Dispose() 它们的 DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29749892/

相关文章:

c++ - 如何从 shared_ptr ResourceManager 释放资源

.net - 如何生成完全唯一的查找?

c# - 触发器不适用于 ToggleButton.IsChecked 属性

c# - WPF DataGrid CellEditEnded 事件

c# - 为什么 Enumerable.Range 实现 IDisposable?

c++ - 将 weak_ptr 与原始指针进行比较不起作用,正在寻找替代方案

.net - 是否可以使用 Azure Web 应用程序服务来托管 .NET Core Web 应用程序以及 Wordpress 平台?

c# - 以编程方式创建 Microsoft Office Outlook 消息

c# - 有没有一种方法可以在 C# 中获取上个月的名称和年份

c# - 专注于性能的 ObservableDictionary 的替代方案