2009-12-23 5 views
0

저는 WPF에 익숙하지 않고 아래와 같이 마스터 디테일 그리드를 얻는 방법을 궁금해합니다.WPF 컨트롤 퍼즐

사용자는 오른쪽/왼쪽 화살표 키를 눌러 부모를 열거 나 닫거나 동일한 아이콘을 클릭하여 동일한 결과를 얻을 수 있습니다. 데이터 구조는 한 단계 깊은 부모/자식이됩니다.

어떻게하면됩니까? 사전에

------------------------------------- 
Parent1 (P1)      ^
------------------------------------- 
P1 - Child 1  
------------------------------------- 
P1 - Child 2 
------------------------------------- 
Parent2 (P2)      ^
------------------------------------- 
P2 - Child 2 
------------------------------------- 
Parent3 (P3)      > 
------------------------------------- 

감사합니다 ...

답변

3

가능성의 몇 가지 :

  • 는 부모와 자식 수준에 적합한 HierarchicalDataTemplates과 더불어, 트 리뷰를 사용합니다. 나는 이것이 당신을 위해 화살표 키를 처리 할 것이라고 생각하지만, 모든 것을 정확하게 정렬하기 위해보다 광범위한 템플릿 작업을해야 할 수도 있습니다 (ItemContainerStyle 및 TreeViewItem.Template 속성이 시작 지점이됩니다).
  • ItemsControl을 사용하고 ItemTemplate에 확장기가 포함되도록하십시오. 확장기의 머리글에 부모가 표시됩니다. Expander의 내용은 하위 Items에 바인딩 된 ItemTemplate이고 해당 ItemTemplate은 적절한 상세보기로 설정됩니다. 다시 말하지만, 왼쪽에있는 기본 위치보다는 오른쪽에 "펼치기/접기"아이콘을 넣으려면 확장기를 템플릿으로 지정해야합니다. 이 경우에는 화살표 키를 직접 처리해야합니다. 장점은 들여 쓰기보다 자연스럽게 "스택"정렬 (아코디언 스타일)을 제공한다는 것입니다.
+0

감사합니다. Treeview [1]에 대해 생각해 봤지만, 이런 종류의 그리드를 사용하여 나에게 잘 들어 맞지 않는 것이 있습니다. 들여 쓰기가 내 마음을 교차 시켰습니다. 필자는 ItemsControl을 더 자세히 살펴볼 것입니다. [1] http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx – Burt