我在使用大約30000條記錄的WPF中的ListView時遇到了很差的性能。據我所知,虛擬化應該被打開,因爲這是默認的(我甚至在XAML中明確地打開了它)。WPF ListView性能很差,數據量大
表現不佳體現在這樣:
- 很慢(一兩分鐘)做初始綁定
- (超過一分鐘)滾動
- 很慢(又很慢,一分鐘以上),當你選擇一行。
我希望有人會看看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。這是一個非常簡單的屬性(幾個字符串,一個布爾)的集合,這是一個ViewModel到模型上,它是(再次)的字符串和布爾值。
我在閱讀人們使用大型記錄集沒有問題的地方,但我嘗試過的各種東西似乎並不奏效。
需要更多信息,請讓我知道。
顯示爲Grid.Row = 「0」 – Paparazzi