在WPF面板中滚动时内存泄漏
我使用VirtualzingStackPanel和textBlock,我的XAML代码如下所示在WPF面板中滚动时内存泄漏,wpf,memory-leaks,Wpf,Memory Leaks,我使用VirtualzingStackPanel和textBlock,我的XAML代码如下所示 <Grid> <ItemsControl Name="NameItemsControl" VirtualizingStackPanel.IsVirtualizing="True" ScrollViewer.CanContentScroll="True" ItemsSource="{Binding Path=NameList}"> <ItemsCo
<Grid>
<ItemsControl Name="NameItemsControl"
VirtualizingStackPanel.IsVirtualizing="True"
ScrollViewer.CanContentScroll="True"
ItemsSource="{Binding Path=NameList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=TaskName}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Template>
<ControlTemplate>
<Border>
<ScrollViewer>
<ItemsPresenter />
</ScrollViewer>
</Border>
</ControlTemplate>
</ItemsControl.Template>
</ItemsControl>
</Grid>
在
ItemsControl
上设置virtualizengstackpanel.VirtualizationMode=“Recycling”
,以避免内存泄漏。我在这个场景中遇到了同样的问题,设置virtualizationstackpanel.VirtualizationMode=“Recycling”
解决了这个问题
<ItemsControl Name="NameItemsControl"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.CanContentScroll="True"
ItemsSource="{Binding Path=NameList}">
VirtualizingStackPanel.VirtualizationMode="Recycling"
<ItemsControl Name="NameItemsControl"
VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.CanContentScroll="True"
ItemsSource="{Binding Path=NameList}">