DataGrid row virtualization display issue
datagrid, row, virtualization, wpf
Solution
If you are looking for speed ListView Gridview is much much faster (and has less features).
Try disable container recycling.
<tk:DataGrid x:Name="dataGrid"
ItemsSource="{Binding Path=Bookings}"
AutoGenerateColumns="False"
EnableRowVirtualization="True"
EnableColumnVirtualization="True"
VirtualizingStackPanel.VirtualizationMode="Standard"
VirtualizingStackPanel.IsVirtualizing="True">
Problem
We currently have a `DataGrid` that is bound to a `DataTable`. It also has a template column with a `CheckBox` in it that we add in programatically. This purpose of this column is track multiple selections in the `DataGrid`. A factory is used to create the `CheckBox`es for each row. There are quite a few records, so row virtualization is set to true so that the performance is acceptable. However, we're seeing a strange issue where if we check some `CheckBox`es on the first 10 rows and then scroll down about 50 rows (the grid has about 10 rows visible at any one time), there are a bunch of other `CheckBox`es that appear to be checked at random. If we disable row virtualization this problem does not exist (but the performance is terrible). Is there any way around this? Anyone know what we may be doing wrong?