由于 Window.EfectiveValues 保留导致内存泄漏

Memory leak due to Window.EfectiveValues retention

我的 WPF 应用程序出现内存泄漏。

我想对我的 DiffViewControl 进行 GC,但它被 Window.EffectiveValues 实例保留。

你知道我如何清理这个过时的引用然后 DiffViewControl 可以被 GC 吗?

看完这个我终于明白了问题post:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/1283a5da-48c2-4398-9064-a92f569d657d/wpf-textboxfocus-results-in-usercontrol-garbage-collection-problem?forum=wpf

我的问题是,如果 我关闭了 WPF window,并且 window 中的一个文本框有焦点,文本框就会泄漏 ,所以整个 window 都泄露了。

在我的例子中,解决方案在关闭 window 中的任何文本框之前移除焦点。

Keyboard.ClearFocus();