我在WPF中使用ListView时遇到的性能很差,使用了大约30000条记录。据我所知,虚拟化应该打开,因为这是默认设置(我甚至在XAML中明确地启用了它)。
表现不佳以这种方式表现出来:
我希望有人能看一下XAML,让我有一些想法。
<ListView Name="grdComms" Grid.Row="0" Grid.Column="0" SelectedItem="{Binding SelectedHeader}"
VirtualizingStackPanel.IsVirtualizing="True" VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.IsDeferredScrollingEnabled="True">
<ListView.View>
<GridView >
<GridViewColumn Header="Account Name" DisplayMemberBinding="{Binding Path=AccountName}" Width="150" />
<GridViewColumn Header="Account Number" DisplayMemberBinding="{Binding Path=AccountNumber}" Width="120" />
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Path=Type}" Width="80" />
<GridViewColumn Header="Delivery" DisplayMemberBinding="{Binding Path=Delivery}" Width="80" />
<GridViewColumn Header="Count" DisplayMemberBinding="{Binding Path=RequestCount}" Width="80" />
<GridViewColumn Width="80" Header="DeDupe">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Width="80">
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding Path=SelectedForProcessing, Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
注意:ItemsSource在代码中设置为ObservableCollection。这是一个非常简单的属性(几个字符串,一个bool)的集合,它是Model上的ViewModel,它是(再次)字符串和bools。
我正在阅读人们使用大型唱片集而没有任何问题的地方,但我尝试过的各种各样的东西似乎都不起作用。
需要更多信息,请告知我们。
答案 0 :(得分:4)
请不理我。一旦我将ListView的MaxHeight设置为大于它需要的大小,问题就完全消失了。我会发誓我试过这个,显然不是。
继续前进,这里没有什么可看的......
灰色