Kis*_*hor 31 c# wpf datagrid wpfdatagrid
在我的.NET 3.5 WPF应用程序中,我有一个WPF DataGrid将填充500列和50行.在滚动时,或者当我DataGrid.Items.Refresh()选择行或选择行时,App的性能非常差.
实际上应用程序将花费大约20秒来更新布局.Layout_Updated()事件将在20秒后触发.
如果我将列减少到50或更少,App将会非常敏感.根据我的发现,性能与列数直接相关.
如何提高DataGrid性能?
Ala*_*lan 75
您可以使用几个选项来帮助您使用DataGrid对象
EnableColumnVirtualization = true
EnableRowVirtualization = true
Run Code Online (Sandbox Code Playgroud)
这两个是我认为可能有帮助的主要因素.接下来尝试使您的绑定异步
ItemsSource="{Binding MyStuff, IsAsync=True}"
Run Code Online (Sandbox Code Playgroud)
最后,我听说设置最大高度和宽度可以帮助,即使它超过最大屏幕尺寸,但我自己没有注意到差异(声称与自动尺寸测量有关)
MaxWidth="2560"
MaxHeight="1600"
Run Code Online (Sandbox Code Playgroud)
也从来不把DataGrid在ScrollViewer,因为你会失去基本的虚拟化.如果这有帮助,请告诉我!
小智 5
检查是否ScrollViewer.CanContentScroll设置了属性False。将此属性设置为false将以某种方式禁用虚拟化,这会降低数据网格的性能。有关更多说明,请参见此CanContentScroll
| 归档时间: |
|
| 查看次数: |
35127 次 |
| 最近记录: |