.net 有关数据绑定导致WPF内存泄漏的参考资料?
每次替换TreeView的ItemsSource时,我的wpf应用程序都在消耗内存(我只需构造一个新对象并将其分配给绑定属性)。此外,只有当我使用在其他ItemControl中使用的DataTemplate时,才会发生内存囤积。当我删除DataTemplate时,Treeview恢复显示绑定对象的ToString()方法,但内存丢失停止。 有人能帮我解决这个问题吗?互联网上有关于这个话题的资源吗.net 有关数据绑定导致WPF内存泄漏的参考资料?,.net,wpf,data-binding,memory-leaks,.net,Wpf,Data Binding,Memory Leaks,每次替换TreeView的ItemsSource时,我的wpf应用程序都在消耗内存(我只需构造一个新对象并将其分配给绑定属性)。此外,只有当我使用在其他ItemControl中使用的DataTemplate时,才会发生内存囤积。当我删除DataTemplate时,Treeview恢复显示绑定对象的ToString()方法,但内存丢失停止。 有人能帮我解决这个问题吗?互联网上有关于这个话题的资源吗 我发现了一个关于WPF内存泄漏的有用信息。有一些情况可能会导致WPF内存泄漏。 以下是一些可能有帮助
我发现了一个关于WPF内存泄漏的有用信息。有一些情况可能会导致WPF内存泄漏。 以下是一些可能有帮助的参考资料:
有很多绑定场景会导致WPF内存泄漏: 1) 绑定到既不是
从属属性
的对象上的属性,也不是以OneTime
以外的任何其他绑定模式实现的INotifyPropertyChanged
,可能会导致内存泄漏,因为第一个对象将保留在内存中用于属性引用
2) 有一个错误,树视图无限期地保留对第一个选定项的引用。这是由于
CreateUntargetedBindingExpression
方法中存在错误,该方法维护对第一个选定项的引用,即使它是一个非目标绑定表达式。这个错误可以通过一些反射来解决,以便使用空绑定项预编译绑定表达式。非常感谢!但这些条款都不适用于本案。我将看看是否可以在一段独立的代码中重现问题,然后发布它。