Mam DataGrid, który ma DataTable ustawiony jako jego ItemsSource. DataTable zawiera 24 kolumny i ~ 1600 wierszy (faktycznie będę musiał załadować dużo więcej wierszy później, ale na razie jest to wystarczająco kłopotliwe).Wirtualizacja WPF DataGrid nie działa poprawnie?
Pomimo ustawienia wirtualizacji dla aktywnych kolumn i wierszy, DataGrid potrzebuje około 30 sekund na wyświetlenie 1600 wierszy. Po tym przewijanie w pionie działa dobrze, poziomo jest opóźnione, chociaż można oczekiwać, że będzie odwrotnie.
Po uruchomieniu profilera pamięci mogę sprawdzić, czy większość pamięci używanej przez aplikację pochodzi z DataGridCells, Borders, ContentPresenters i Textblocks. Dla mnie oznacza to, że siatka nie wykonuje poprawnie wirtualizacji wierszy.
Czy ktoś może potwierdzić, że wystąpił problem z wirtualizacją DataGrid? Czy istnieje jakaś niesławna pułapka w implementacji tej kontroli?
Czekamy na wszelkiego rodzaju dane wejściowe/sugestie. Dzięki :)
Czy wszystkie kolumny są kolumnami standardowymi, a więc tylko tekstowymi lub niektóre z nich zawierają elementy sterujące, takie jak 'CheckBoxes' itp? – DHN
Nie, dwa z nich to pola wyboru. –
Hmm, a następnie spróbuj i usuń te dwie kolumny lub zmień ich wygląd na "standardowy". – DHN