2012-08-06 2 views
0

Outlook의 계정보기와 유사한 트리보기를 만들려고합니다.WPF TreeView Databinding

기본적으로 다음 구조를 찾고 있습니다.

한 첫 번째 계정 이름
1.1받은 편지함
1.2 삭제 된 항목
1.3 보낸 편지함
2 번째 계정 이름
2.1받은 편지함
2.2 삭제 된 항목
2.3 보낸 편지함

의 수 계정 (루트 노드)은 사용자에 따라 가변적입니다.

리프 노드 수는 일정합니다.

가능한 경우 루트 요소의 선택을 제한하고 싶습니다. 그 중 하나를 선택하지 않아도 아무 것도하지 않습니다.

분명히, 어떤 리프 노드가 선택되었는지를 추적 할 수 있어야합니다.

어떤 도움을 받으실 지 정말로 고맙겠습니다.

(나는 조쉬 스미스의 CodePlex 기사를 따르려고했지만 지금은 혼란에만 추가됨).

감사합니다.

CA

답변

1

경험상 실제로 TreeView를 사용하지 않을 수도 있습니다. 그들은 계층 적 데이터 템플릿을 사용합니다.이 템플릿은 여러 수준으로 깊어가는 동일한 유형의 부모 - 자식 관계를 사용하는 경우 매우 유용합니다. 당신은 3 단계로 깊숙이 들어가고 있으며, 2 단계는 어떤 유형도 공유하지 못합니다.

스타일이 지정된 중첩 된 ItemsControls를 나무처럼 보이게 할 수 있습니다. ToggleButton을 기반으로 하위 ItemsControls의 가시성을 전환하거나 애니메이션을 적용하면 두통없이 TreeView에 비슷한 기능을 사용할 수 있습니다.

Josh Smith의 기사는 heirarchical data templates에 대한 복음입니다. 그가 제안한 것이 효과가 없다면, 그것은 사각형 페그 둥근 구멍 상황이기 때문에 가능성이 높습니다.