2009-12-23 35 views
0

我是WPF新手,想知道如何最好地实现主细节网格,如下所示。WPF控制益智

用户将能够按下右/左箭头键打开/关闭父母或点击图标来实现相同的结果。数据结构将是父级/子级1级。

我该怎么办?

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

在此先感谢...

回答

3

几个可能的原因:

  • 使用一个TreeView,与家长和孩子的水平适合HierarchicalDataTemplates。我相信这会为你处理箭头键,但是你可能需要做更多的模板来正确对齐(ItemContainerStyle和TreeViewItem.Template属性是起点)。
  • 使用ItemsControl,让你的ItemTemplate包含一个Expander。 Expander的Header会显示父级。 Expander的内容将是另一个ItemsControl,绑定到子项目并将其ItemTemplate设置为适当的详细视图。同样,您可能需要对扩展器进行模板设置,将“展开/折叠”图标放在右侧而不是其左侧的默认位置。在这种情况下,我想你需要自己处理箭头键。好处是,这自然会给你“堆叠”对齐(手风琴风格),而不是缩进。
+0

谢谢,我一直在考虑Treeview [1],但是有些东西在我用这种网格的时候并没有很好地使用它,缩进确实让我想起了它。 我会进一步看看ItemsControl,感谢您的输入。 [1] http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx – Burt 2009-12-23 23:56:24