ListBox和WrapPanel性能降低

时间:2016-10-06 09:47:29

标签: c# wpf wpf-controls

使用ListBox + WrapPanel在ListBox ItemsPanelTemplate中的WPF中显示信息时,我的性能结果非常差。

如果我从ListBox中删除WrapPanel,信息需要 5秒才能完全显示WrapPanel大约需要1.10分钟。

有关如何提高性能的任何提示?

配置是: 我的DataTemplate在App.xaml中,使用1个Border,Grid,20个TextBlocks包装在6个不同的VirtualizingStackPanel中。

ListBox:

<ListBox Name="myListBox"
         Margin="4"
         BorderBrush="DarkSlateGray" BorderThickness="1"
         ScrollViewer.HorizontalScrollBarVisibility="Disabled"
         ItemsSource="{Binding propList}"
         ItemTemplate="{StaticResource myDataTemplate}" >
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

谢谢。

1 个答案:

答案 0 :(得分:0)

WrapPanel不使用虚拟化,如果您将使用启用了虚拟化的其他面板,则只会创建UI中可见的元素。