с наличием в нем к примеру 10000 тысяч дочерних элементов, UI не блочился ?До этого десктопный гуй писал либо на WinForms либо на Qt.Опыта в WPF особо нет.
Знаю что есть виртуализация, но как встроить -- не знаю
Для TreeView нужно установить ItemsPanelTemplate VirtualizingStackPanel и поскольку TreeItem сами содержат коллекцию элементов, им тоже нужно задать в ItemsPanelTemplate - VirtualizingStackPanel. Я делал так, но поскольку у меня были сложные шаблоны элементов дерева, то после добавления, удаления элементов или обновления всей коллекции иногда выполнение уходило во внешний код и там застревало, что приводило к подвисанию вьюшки. Решил проблему следующим образом: заменил дерево на обычный ListBox. У элементов дерева добавил свойство CurrentLayer и в зависимости от его значения регулировал отступы при помощи конвертера.
На таких масштабах лучше всего писать все ручками, причем лично я при работе с большими объемами данных которые нужно спонтанно выводить на экран использую DirectX, т.к. силами GDI и иже с ним получаешь сюрреалистические тормоза.
Обсуждают сегодня