Как создать быстрый элемент управления WPF Datagrid с нуля? - PullRequest
8 голосов
/ 25 марта 2011

В прошлом я использовал несколько коммерческих наборов данных WPF, и я должен сказать, что производительность была довольно разочаровывающей и медленной. Я хотел бы иметь возможность загружать до миллиона записей и иметь возможность быстро прокручивать вверх и вниз без каких-либо задержек.

Некоторые разработчики Guru WPF говорили мне, что действительно возможно создать WPF Datagrid с нуля - с гораздо меньшим количеством функций, чем у коммерческих, - ориентированный в основном на производительность.

Но как мне поступить? Мне сказали, что разработка этих таблиц данных не должна создаваться обычным способом с использованием ItemsControl, что приводит к тем же проблемам с производительностью, что и существующие сетки wpf.

Гуру здесь, чтобы указать мне правильное направление?

Обновление:

Поскольку один человек упомянул сомнение в необходимости миллиона записей, сейчас слишком многие прыгают на одном и том же фургоне. Что меня интересует, так это создание быстрого Datagrid с малой задержкой практически без какой-либо функции, которая теоретически может содержать до миллиона записей.

Мне не нужна сортировка, фильтрация или что-то еще, все что мне нужно, это скорость. И именно здесь мне нужно было руководство от Гуру. Я знаю, что такое виртуализация данных, ее просто недостаточно.

1 Ответ

7 голосов
/ 25 марта 2011

Я подозреваю, что вы хотите посмотреть на VirtualisingStackPanel как часть вашей реализации, он только отображает элементы управления, когда они становятся видимыми.

Тем не менее, миллион записей звучит как слишком много для любого пользователя, который может серьезно понадобиться на экране в любое время. Я бы серьезно переосмыслил свой дизайн пользовательского интерфейса, но это только я.

...