Мы пытаемся придумать хороший способ виртуализации TreeView
, данные на самом деле не проблема, потому что это очень легкий (около 16 байт на элемент), проблема в том, что мы могли бы иметь десятки тысячи, и хотя фактические данные будут занимать всего 160 килобайт памяти, элементы treeview будут использовать намного больше памяти. Мы пробовали виртуализацию с тремя разными деревьями, WPF, Infragistics и Telerik. Все они имеют большие проблемы, которые делают их непригодными для использования для нашего приложения:Виртуализация TreeView
WPF TreeView
: Полоса прокрутки показывает некоторое странное поведение, прыгает вокруг много, изменения размера непоследовательны, прокрутка, перетаскивая его с помощью мыши не работать должным образом (прыжки вперед и назад)
Telerik: детали исчезают, полоса прокрутки, ошибочна тоже элементы случайным образом расширять коллапс, стили не работают
Infragistics: детали не виртуализировать на всех, каждый элемент остается в что делает виртуализацию памяти бесполезной.
Мы боролись с этим через пару месяцев, и мы не смогли найти хорошее решение. Кто-нибудь из вас успешно реализовал виртуализацию в TreeView
с более чем 9000 позиций? Если да, какова была ваша стратегия? Вы использовали сторонние элементы управления? Он работал на 100%?
Любое предложение чрезвычайно ценится.
Спасибо.
+1 У меня такая же проблема с WPF виртуализированных Treeview, попробовал все и при прокрутке поведение по-прежнему неустойчиво. – BrokenGlass
@BrokenGlass Спасибо за поддержку вопроса. Надеюсь, мы получим хорошее решение для этого. – Carlo
также см. Мой родственный вопрос здесь (очевидно, без ответа): http://stackoverflow.com/questions/4074475/scrolling-bug-in-wpf-virtualized-treeview – BrokenGlass