In my .NET 3.5
WPF
Application, I have a WPF
DataGrid
which will be populated with 500 columns and 50 rows.
The performan
Check if you have property ScrollViewer.CanContentScroll
set False
.
Setting this property to false disables the virtualization in a way will degrade the performance of your Data-grid. For more clarification refer this CanContentScroll
There are a few options you can turn on to help you on your DataGrid object
EnableColumnVirtualization = true
EnableRowVirtualization = true
These two are the main ones I think might help. Next try making your binding async
ItemsSource="{Binding MyStuff, IsAsync=True}"
And lastly, I've heard that setting a maximum height and width can help even if it above the max screen size, but I didn't notice a difference myself (claim had to do with auto size measuring)
MaxWidth="2560"
MaxHeight="1600"
Also never put a DataGrid
in a ScrollViewer
, because you will essentially lose virtualization. Let me know if this helps!
Set the DataGrid.RowHeight
value and that will make a huge difference.
I know this is a really old question, but I just came across it, and this was the biggest difference on my end. My default height was 25.
Maybe try this instead of loading all 50 rows at once
http://www.codeproject.com/Articles/34405/WPF-Data-Virtualization