.NET C# WPF DataGrid Как ускорить отрисовку?

266
26 января 2018, 20:14

Доброго времени суток! Имеется некий DataGrid:

<ScrollViewer Margin="10,29,10,0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
  <DataGrid x:Name="dgCatalog" AutoGenerateColumns="True"  IsReadOnly="False" Background="{x:Null}" CanUserAddRows="False" CanUserDeleteRows="True" ItemsSource="{Binding MainExcelWorker.MainTable, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</ScrollViewer>

Есть DataTable с ~4000 строками, и что бы все сразу не не отрисовывать я разделил их на автогенерируемые таблички по 60 строк. Среди этих табличек (страниц) пользователь переходит стрелочками или сразу вводит номер нужной таблицы (страницы).И уж очень медленно компьютер отрисовывает строки этих табличек, примерно тратит 2-3+ секунды.

Вопрос в следующем, как можно ускорить отрисовку строк?

P.S. Не знаю нужна ли такая информация, но столбцов ~14.

Answer 1

Причина медленной отрисовки была в том, что DataGrid был помещен в ScrollViewer, из-за этого отрисовывались все 60 строк, в то время как если бы ScrollViewer небыло, отрисовались бы только те строки которые "помещались" в контейнер.

READ ALSO
Программа завершилась с кодом 1073741855 (0x4000001f)

Программа завершилась с кодом 1073741855 (0x4000001f)

Пробовал гуглить по этому коду, но ничего не нашелВообще, я не удивлен крешу, так как тут 20+ потоков, которые вызывают WinApi-функции через библиотеку...

335
Как создать numeric столбец в таблице dbf на C# ADO.NET

Как создать numeric столбец в таблице dbf на C# ADO.NET

Создаю таблицу в dbf, так работает нормально

227
Почему не подключается библиотека?

Почему не подключается библиотека?

Пробовал компилировать в режиме x32 и x64, ещё я пробовал подключать "KernelBase" и "ntdll"? DLL находятся в папке с запускаемой программой

173
Webpack минимизация

Webpack минимизация

Существует ли какое-нибудь решение для вебпака, которое бы анализировало неиспользуемые функции, переменные и тп

198