2010-11-19 4 views
2

TreeView에 표시하고 싶지만 ListBox처럼 보이게하는 계층 구조가 있습니다.WPF에서 TreeView 평평하게하기

내가 가진 데이터 (하위 수준의 수의 가능성) 다음과 같습니다

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

내가 같이 표시 할 데이터를 싶습니다 (때 필요 포장) :

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

ListBox를 사용하지 않으려는 부모 항목과 하위 항목 간의 관계를 유지할 수 있도록 TreeView를 사용하고 싶습니다. 감사합니다.

+0

적절한 답을 쓸 시간이 없으므로 목록 상자를 그룹화하여 사용하는 것을 고려해보십시오. 그룹화는'CollectionViewSource' 클래스에서 찾을 수 있습니다 –

답변

0

나는 최선의 방법은 끝까지 때리는 나무를 스크롤 할 재귀 함수를 구현하는 것이라고 생각합니다. 이 함수는 참조 된 목록이나 컬렉션을 매개 변수와 현재 노드로 사용합니다. 여기

는 데이터 구조와 뷰 사이에 명확한 분리를하지 않아도됩니다 그것은 당신이 가지고있는 문제처럼 들리 그것을

Sub GenerateListFromTree(Node oNode, List oList)

AddItemToList(oNode.Name) 

For each Node oChildNode in oNode.Nodes 
    GenerateListFromTree(oChildNode,oList) 
Next 

End Sub

0

에 대한 의사 코드입니다. WPF가 아닌 트리가있는 경우 트리 뷰를 쉽게 매핑 할 수 있어야합니다. 트리가있는 경우 목록보기에서 사용할 수있는 트리 노드 분자를 만들 수 있습니다.

이렇게하면 관계가 절대로 바뀌지 않습니다. 데이터가 UI에 투영되는 방식입니다.