Виртуализация TreeView

мы пытаемся придумать хороший способ виртуализировать TreeView , данные на самом деле не проблема, потому что они очень легкие (около 16 байт на элемент) проблема в том, что потенциально у нас могут быть десятки тысяч, и хотя фактические данные занимают всего 160 КБ памяти, элементы древовидного представления действительно используют намного больше памяти. Мы попробовали виртуализацию с тремя разными деревьями: WPF, Infragistics и Telerik. У всех из них есть большие проблемы, которые делают их непригодными для использования в нашем приложении:

WPF TreeView : полоса прокрутки демонстрирует странное поведение, много прыгает, непоследовательно меняет размер, прокручивается путем перетаскивания мышью. не работает должным образом (прыгает вперед и назад)

Telerik : элементы исчезают, полоса прокрутки тоже неустойчива, элементы случайным образом расширяются, сворачиваются, стили не работают

Инфрагистика : элементы не виртуализируются вообще, каждый элемент остается в памяти, что делает виртуализацию бесполезной.

Мы боролись с этим уже пару месяцев и не смогли найти хорошего решения. Кто-нибудь из вас успешно реализовал виртуализацию в TreeView с более чем 9000 элементов? Если да, то какова была ваша стратегия? Вы использовали сторонние элементы управления? Это сработало на 100%?

Любое предложение очень ценится.

Спасибо.

13
задан akjoshi 29 August 2012 в 15:06
поделиться