我必须在 WPF 中的两个视图之间切换。我有一个 DataTemplate,它使用 ViewModels 来根据 ViewModel 推断要绘制的视图。简而言之:
<DataTemplate DataType="{x:Type ..:RedScreenViewModel}">
<...:RedScreenViewModel/>
</DataTemplate>
一时兴起,我决定在视图之间快速切换.. WPF 应用程序的内存使用量飙升至 2gb。现在你可能会争辩说,在现实生活中,没有人会做我所做的事情。但我想知道如何释放分配的内存。肯定会调用 Unload,我已取消订阅任何事件处理程序。但这无济于事。DevExpress 或 WPF 是否具有可以告诉 .NET 处理用户控件的属性?我为 DevExpress 找到但做 zilch 的是:
DisposeOnWindowClosing
DestroyOnClosingChildren
创建的视图非常复杂,我重新组织了布局以节省内存。但同样增加。建议将非常感谢。
编辑:但是没有调用析构函数......