代码之家  ›  专栏  ›  技术社区  ›  Burt

WPF控制拼图

  •  0
  • Burt  · 技术社区  · 15 年前

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

    用户可以按右/左箭头键打开/关闭父项,或单击图标以获得相同的结果。数据结构将是父级/子级1的深度。

    我该怎么办?

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

    事先谢谢…

    1 回复  |  直到 15 年前
        1
  •  3
  •   itowlson    15 年前

    几种可能性:

    • 使用TreeView,父级和子级具有适当的层次结构数据模板。我相信这将为您处理箭头键,但您可能需要进行更广泛的模板化以正确对齐所有内容(itemcontainerStyle和treeviewItem.template属性将是起点)。
    • 使用itemsControl,并让itemTemplate包含一个扩展器。扩展程序的头将显示父级。扩展程序的内容将是另一个itemsControl,绑定到子项,并将其itemTemplate设置为适当的详细视图。同样,您可能需要模板化扩展器,将“展开/折叠”图标放在右侧,而不是其默认位置放在左侧。我想在这种情况下你需要自己处理箭头键。这样做的好处是,这将自然地为您提供“堆栈”对齐(手风琴样式),而不是缩进。