У меня есть TreeView
, который содержит любое количество узлов. Пользователи могут проверить любой из узлов в TreeView
, и как только они нажмут кнопку, я хочу обрезать все, кроме отмеченных узлов и их родителей. У меня есть все настройки кнопки, и она вызывает метод, который должен обрезать узлы, проблема, с которой я столкнулся, - это логика обрезки. Даже псевдокод был бы полезен. Я знаю, что он должен быть рекурсивным и должен начинаться с самых внешних узлов и продвигаться вверх, но я не могу придумать рекурсию.
Меня не волнует, удаляет ли он TreeView
напрямую или создает новый List<TreeNode>
, к которому я могу привязаться.
Любая помощь будет принята с благодарностью, спасибо.
Решение. Решение от InBetween устранило мою логическую проблему, но осталась еще одна проблема. Вы должны удалить узлы из их родителя. Так что вы не можете просто пойти и сделать TreeView.Remove(node)
, вы должны сделать ParentNode.ChildNodes.Remove(node)
.