WPF DataGrid加载速度很慢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF DataGrid加载速度很慢相关的知识,希望对你有一定的参考价值。
我有一个包含DataGrid的WPF应用程序。 DataGrid包含10个DataGridTemplateColumns。我向它添加了4个额外的DataGridTemplateColumns,但之后DataGrid的加载速度非常慢。我使用List作为其ItemSource。请帮我解决这个问题。
这是我的DataGrid XAML
<DataGrid VirtualizingStackPanel.IsVirtualizing="False"
ScrollViewer.VerticalScrollBarVisibility="Visible"
ScrollViewer.CanContentScroll="True"
BorderBrush="Transparent"
ClipToBounds="True"
GridLinesVisibility="All"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
HeadersVisibility="Column"
VerticalAlignment="Top" Width="600"
Name="gvGrid"
Grid.ColumnSpan="5"
Grid.Column="0"
Grid.Row="1"
Grid.RowSpan="7"
CanUserDeleteRows="True"
CanUserAddRows="False"
CanUserResizeColumns="False"
CanUserReorderColumns="False"
CanUserResizeRows="False"
IsReadOnly="True"
CellStyle="{StaticResource DataGridContentCellCentering}"
HorizontalAlignment="Left"
Height="200"
ColumnWidth="*"
EnableRowVirtualization="True"
HorizontalGridLinesBrush="#E7E5E6"
VerticalGridLinesBrush="#E7E5E6"
ColumnHeaderStyle="{StaticResource HeaderStyle}"
AlternatingRowBackground="#F6F4F5"
AutoGenerateColumns="False"
Background="{x:Null}"
CurrentCellChanged="gvGrid_CurrentCellChanged">
提前致谢。
答案
您可以考虑采取一些预防措施来改善您的DataGrid
的表现。
首先使用虚拟化(只需将属性EnableColumnVirtualization
和EnableRowVirtualization
设置为true
并避免将DataGrid
放入ScrollViewer
,因为它会使虚拟化的好处无效)。第二步,使用ItemsSource
属性的异步绑定,即:
ItemsSource="{Binding Path=YourList, IsAsync=True}"
他们应该帮助你。
以上是关于WPF DataGrid加载速度很慢的主要内容,如果未能解决你的问题,请参考以下文章