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

Какой элемент управления WPF я должен использовать для построения высокопроизводительной сетки?

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

Кажется, что DataGrid не обеспечивает контроль уровня ячеек.

Мне нужно поддерживать 10000 строк с большим количеством обновлений ячеек (скажем, 200 в секунду).

Спасибо

Ответы [ 4 ]

1 голос
/ 30 июля 2011

Если вы не хотите использовать сторонние сетки данных, то вы хотя бы попробовали WPF Datagrid?Он поддерживает виртуализацию на уровне строк и столбцов.Плюс контроль уровня ячейки доступен через CellStyle для типа DataGridCell.Вы даже можете прикрепить любое поведение к DataGridCell, а затем получить эксклюзивный доступ к нему, развернуть его визуальное дерево и выполнить любые виды повышения производительности, которые вы хотите локально, для его содержимого.

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

Вы можетепоиграйте с ним в полной мере.На сайте Codeplex имеется исходный код последней доступной сетки данных на основе WPF.

Дайте мне знать, если это поможет.

0 голосов
/ 30 июля 2011

Если вам нужна производительность, ваш лучший выбор - измерить, измерить, измерить .

Создайте быстрый прототип, используя каждый из рассматриваемых классов DataGrid, используя «реалистичные» примеры данных.

Посмотрите, какие из них работают хорошо, а какие нет.

0 голосов
/ 29 июля 2011

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

Я большой поклонник WPF, но не всегда он решает все проблемы.

0 голосов
/ 29 июля 2011

Telerik RadGrid для WPF поддерживает виртуализацию строк и столбцов и может быть тем, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...