мы пытаемся создать хороший способ для виртуализации TreeView
, данные на самом деле не являются проблемой, потому что они очень легкие (около 16 байт на элемент), проблема в том, что мы можем потенциально иметь десятки тысячи, и хотя фактические данные будут занимать всего 160 килобайт памяти, элементы treeview будут использовать намного больше памяти. Мы пробовали виртуализацию с тремя разными деревьями, WPF, Infragistics и Telerik. Все они имеют большие проблемы, которые делают их непригодными для нашего приложения:
WPF TreeView
: Полоса прокрутки показывает какое-то странное поведение, много прыгает, изменяет размер непоследовательно, прокрутка, перетаскивая его мышью, не работает должным образом (прыгает назад и вперед)
Telerik: элементы исчезают, полоса прокрутки тоже неустойчива, элементы случайным образом расширяются, стили не работают
Инфраструктура: элементы не виртуализированы вообще, каждый элемент остается в памяти, что делает виртуализацию бесполезной.
Мы боролись с этим через пару месяцев, и мы не смогли найти хорошее решение. Кто-нибудь из вас успешно реализовал виртуализацию в TreeView
с более чем 9000 элементами? Если да, какова была ваша стратегия? Вы использовали сторонние элементы управления? Работало ли оно на 100%?
Любое предложение чрезвычайно ценится.
Спасибо.