在TreeView中使用WrapPanel

我想显示详细程度的数据,所以我使用TreeView,但每个细节都很短,所以我想使用WrapPanel(水平)每行有很多细节。

就像是 :

  • 这是一个未扩展的项目

  • 这是展开项目的标题

    信息1信息2信息3信息4

    信息5信息6信息7

所以我尝试定义TreeViewItem的模板,但我无法让wrappanel包装。 我的每行只有一个信息,当info的datatemplate宽度为100而TreeView为500时。我尝试设置WrapPanel的宽度,ItemsWidth,是其他没有成功的事情。

任何的想法 ?

编辑:我终于使用“更简单”的解决方案。 似乎我们必须定义WrapPanel的宽度,这使得解决方案不那么通用。

这是我遇到的解决方案:只是在样式中定义TreeViewItem中使用的ItemsPanel:

         

为了完整起见,我仍然在这里使用不起作用的解决方案。 (为什么它不起作用?)

            !!!! this is the wrapanel not wrapping                   

编辑:我终于得到了这个’更简单’的解决方案。 似乎我们必须定义WrapPanel的宽度,这使得解决方案不那么通用。 (也许是宽度的绑定(但是?)会解决这个问题)

这是我遇到的解决方案:只是在样式中定义TreeViewItem中使用的ItemsPanel:

  

你必须设置

 ScrollViewer.HorizontalScrollBarVisibility="Disabled" 

到你的

  

不是为了

  

例:

                

这个解决方案适合我。

尝试

  1. 禁用滚动条
  2. 加宽WrapPanel并观察视觉冲击力,是否有效?
  3. 创建颜色边框/背景以跟踪WrapPanel的实际大小

这些将帮助您跟踪问题