ElementHost的WPF表单和网格绑定方法的潜在内存问题?



当用户单击WinForms菜单项时,将执行以下代码:

 // this is an Infragistics XamRibbonWindow
var someWpfInfragisticsWindow = new SomeWpfInfragisticsWindow();
ElementHost.EnableModelessKeyboardInterop(someWpfInfragisticsWindow);
someWpfInfragisticsWindow.Show();

显示的窗口是一个基础结构 XamRibbonWindow。它还包含一个Infragistics XamDataGrid,其数据源绑定到视图模型上的IEnumerable属性。

窗口还包含一个"搜索"按钮,该按钮将从数据库中检索新的项目集合,并设置前面提到的视图模型属性。这会导致网格显示新集合。

稍后,用户可以关闭窗口。没有编写代码来处理收盘价。

我的问题是:

  1. 关闭窗口是否会释放窗口及其控件并使绑定到它的集合可 GC(假设不存在对集合的其他引用)?
  2. 有没有人看到我所描述的内容有任何潜在的内存问题?也许与网格显示的项目的更新方式(或其他任何内容)有关?
当您关闭

窗口时,如果您尚未保留对它的引用,它应该可用于垃圾回收。 从提供的详细信息来看,我没有看到这种方法有任何内存问题。

请注意,Infragistics 确实有一些静态类,这些类将在您关闭窗口后保留。

如果您在使用 Infragistics 控件

时确实遇到内存泄漏问题,并且认为控件可能是原因,您应该联系 Infragistics 寻求帮助,以确定泄漏的原因。 有链接可以在论坛上发布或从获取帮助页面提交支持案例。

相关内容

  • 没有找到相关文章

最新更新