약 30000 개의 레코드를 사용하여 WPF의 ListView에서 성능이 매우 저하되고 있습니다. 내가 아는 한 멀리 가상화가 켜져 있어야합니다 (심지어 XAML에서 명시 적으로 설정 했음).WPF ListView에서 대용량 데이터의 성능이 매우 좋음
가난한 성능이 방법으로 명단 :
이- 아주 천천히 (몇 분)이 초기 바인딩을 할
- 다시 (
- 가 매우 느린 스크롤 (분 이상) 아주 천천히, 당신이 행을 선택할 때 1 분 넘게).
나는 누군가가 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 (다시) 문자열 및 bool 인 ViewModel입니다.
사람들이 큰 레코드 세트를 문제없이 사용하고있는 곳을 읽었지만 시도한 여러 가지 사항이 작동하지 않는 것 같습니다.
더 많은 정보가 필요하시면 알려주세요.
을 위해 Grid.Row = "0" – Paparazzi