当用户单击 WinForms 菜单项时,将执行以下代码:
// this is an Infragistics XamRibbonWindow
var someWpfInfragisticsWindow = new SomeWpfInfragisticsWindow();
ElementHost.EnableModelessKeyboardInterop(someWpfInfragisticsWindow);
someWpfInfragisticsWindow.Show();
显示的窗口是 Infragistics XamRibbonWindow。它还包含一个 Infragistics XamDataGrid,其 DataSource 绑定到视图模型上的 IEnumerable 属性。
该窗口还包含一个“搜索”按钮,该按钮将从数据库中检索新的项目集合,并设置前面提到的视图模型属性。这会导致网格显示新集合。
稍后,用户可以关闭窗口。没有编写代码来处理关闭。
我的问题是:
- 关闭窗口是否会处理窗口及其控件并使集合绑定到它的 GC 能力(假设不存在对集合的其他引用)?
- 有没有人看到我所描述的任何潜在的记忆问题?也许随着网格显示的项目的更新方式(或其他任何方式)?