2011-06-15 11 views
2

현재 여러 개의 자식 노드가있는 하나의 부모 노드가 포함 된 간단한 트리보기가 있습니다. 부모 트리에서 선택된 노드의 위치를 ​​찾는 방법이 있는지 궁금합니다.TreeView에서 하위 위치를 얻는 방법?

저는 현재 트리 뷰에 조치 이벤트가 있으며 사용자가 하위를 클릭하면 선택한 하위의 문자열 값을 인쇄합니다. 나는 다음을 사용하여 시도했다 :

그러나 항상 0을 반환한다.

+0

데카르트 좌표를 찾으십니까? 또는 "grandparent \ parent \ child"와 같은 중첩 경로? –

+0

부모 노드의 주문에 대해 들여다 보았습니다. 내 트 리뷰는 다음과 같습니다 경우 : > 부모 -child0 -child1 -child2 내가 값을 얻으려면 -child3 "2"아이 2 사용자가 클릭 – Johnston

+0

(카운터 가정은 0에서 시작)하는 경우 일반적으로 treeview에 대해 생각하는 중, 주문이 필요한 이유는 무엇입니까? 이는 종종 선택한 프리젠 테이션 패널 (ContainerTemplate)에서 결정됩니다. 자녀를 식별 할 수있는 다른 방법이 있습니까? –

답변

0

그래서 나는 (나는 나의 질문이 무엇인지와 혼란 스러울지도 모른다.) 위치를 말하면서 내가 찾고있는 대답을 찾지 못했다. 어쨌든 내가 해결 한 방법은 선택된 자식의 문자열 값을 가져 와서 내 목록과 비교하는 것입니다. 대답하는 사람들 덕분에!

1

나는 당신의 모든 treeview 문제 (그리고 대부분의 ui 것들)에 대한 대답은 ViewModel을 만드는 것이라고 생각한다. 이미 바인딩중인 요소를 찾기 위해 시각적 트리를 크롤링하기 시작할 때마다 어려운 일을하고있는 것입니다. 일단 ItemsContainerGenerator를 사용하기 시작하면 안되는 많은 문제에 대해 걱정해야합니다.

계층 구조에 바인딩하고 있습니다. 해당 구조가 각 항목에 대해 선택된 항목 속성을 갖고 있고 TreeViewItem에서 선택된 항목에 바인딩되어 있다면 코드에서 선택한 항목을 가져 와서 그 밖의 모든 작업을 수행 할 수 있습니다. 비슷한 질문을보세요 here.

관련 문제