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

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

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

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

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

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

Любое предложение чрезвычайно ценится.

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос