我在Windows 8.1 Store App中有内存泄漏,我在UserControl中有自己的网格控件:
<ItemsControl ItemsSource="{Binding Rows, ElementName=ThisUserControl}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border>
<ItemsControl ItemsSource="{Binding Cells}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl ContentTemplate="{Binding GridControlCellDataTemplate, ElementName=ThisUserControl}"></ContentControl>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Rows,Cells和GridControlCellDataTemplate都是DependencyProperties,我用于此场景的CellDataTemplate是空的:
<DataTemplate x:Key="GridControlCellDataTemplate"></DataTemplate>
每次我将Rows-property更改为新的ObservableCollection时,内存都会上升,并且不会被清除。
是不是可以用这种方式绑定它?或者我在寻找泄漏的错误位置?如果我删除ContentControl,泄漏就会消失。