Silverlight - TreeView项目上方/下方的空间

时间:2009-05-12 13:51:55

标签: c# silverlight treeview

我正在尝试减少TreeView项目之间的空间量以更加垂直地适应。我猜这是在TreeView中设置ItemContainer Style或ItemContainer模板的问题,但我似乎无法获得正确的属性。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

你是对的,你需要改变TreeView控件的ItemContainerStyle。

默认TreeViewItem样式的控件模板中的所有容器都设置为“auto”并伸展以消耗项目内容所需的垂直空间。

您可以通过执行以下任一操作来强制执行此操作:

  1. 通过更改TreeView的ItemTemplate
  2. 来减小每个项目内容的大小
  3. 在TreeViewItem的默认控件模板内反转网格上的边距。
  4. 以下是我为TreeViewItem创建的新控件模板的摘录。注意我如何将边距设置为“0,-4,0,-4”。这告诉内容在项目的顶部和底部减少4个像素,从而减少每个项目的垂直空间。

    <ControlTemplate TargetType="controls:TreeViewItem">
        <Grid Background="{x:Null}" Margin="0,-4,0,-4">
            ...