Сглаживание TreeView в WPF - PullRequest
       2

Сглаживание TreeView в WPF

2 голосов
/ 20 ноября 2010

У меня есть иерархическая структура, которую я хотел бы отобразить в TreeView, но отформатировать так, чтобы она выглядела как ListBox.

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

Item 1
  Child 1
  Child 2
Item 2
  Child 3
  Child 4

Я бы хотел, чтобы данные отображались следующим образом (и переносились при необходимости):

Item 1 Child 1 Child 2 Item 2 Child 3 Child 4

Я бы хотел использовать TreeView, чтобы поддерживать связь между родительскими и дочерними элементами, поэтому я не хочу использовать ListBox. Спасибо!

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Похоже, проблема в том, что у вас нет четкого разделения между вашей структурой данных и вашим представлением.Если у вас есть дерево, которое не является WPF, должно быть легко отобразить на нем древовидное представление.Если у вас есть дерево, вы можете создать нумератор узлов дерева, который можно использовать в представлении списка.

При этом отношение никогда не меняется - как данные проецируются в пользовательском интерфейсе.

0 голосов
/ 20 ноября 2010

Я думаю, что лучшим способом было бы реализовать рекурсивную функцию, которая будет прокручивать ваше дерево, пока оно не достигнет конца. Эта функция будет принимать ссылочный список или коллекцию в качестве параметра и текущий узел.

вот псевдокод для него

Sub GenerateListFromTree(Node oNode, List oList)</p> <pre><code>AddItemToList(oNode.Name) For each Node oChildNode in oNode.Nodes GenerateListFromTree(oChildNode,oList) Next

End Sub

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...