Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在列表框中分组时,是否有方法启用容器回收?_C#_Wpf_Performance_Xaml_Listbox - Fatal编程技术网

C# 在列表框中分组时,是否有方法启用容器回收?

C# 在列表框中分组时,是否有方法启用容器回收?,c#,wpf,performance,xaml,listbox,C#,Wpf,Performance,Xaml,Listbox,我有一个列表框,可以包含数百个项目。我已经向列表框添加了以下属性,即使我分组/取消分组(使用x作为ListCollectionView),性能也非常好 我认为这是因为当我切换到“取消分组”并且必须从头开始重建容器时,WPF正在丢弃容器缓存(通过virtualzingstackpanel中的循环模式启用) 这里有没有提高性能的方法?有人能给我推荐一些我可以尝试的东西或者我可以查看的资源吗?查看这篇文章,也许会有帮助 此外,我在stackoverflow上发现了类似的问题: 另一个(即使有答案)看

我有一个
列表框
,可以包含数百个项目。我已经向列表框添加了以下属性,即使我分组/取消分组(使用x作为
ListCollectionView
),性能也非常好

我认为这是因为当我切换到“取消分组”并且必须从头开始重建容器时,WPF正在丢弃容器缓存(通过
virtualzingstackpanel
中的循环模式启用)


这里有没有提高性能的方法?有人能给我推荐一些我可以尝试的东西或者我可以查看的资源吗?

查看这篇文章,也许会有帮助

此外,我在stackoverflow上发现了类似的问题:


另一个(即使有答案)

看起来WFP 4.5将获得分组的虚拟化支持: <ListBox ItemsSource="{Binding x}" VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling"/>
<ListBox.GroupStyle>
    <GroupStyle>
        <GroupStyle.ContainerStyle>
            <Style TargetType="GroupItem">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <ItemsPresenter/>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </GroupStyle.ContainerStyle>
    </GroupStyle>
</ListBox.GroupStyle>