Silverlight - TreeView顶部和第一个TreeViewItem之间的空间

时间:2009-05-12 19:04:02

标签: c# silverlight treeview

我对 This 一个问题有一个推论。

如何更改TreeView控件顶部与第一个TreeViewItem之间的间距?具体来说,我想减少控件顶部和第一个项目之间的空间。和其他问题一样,我猜我需要重新安装TreeView。但是,我需要什么样的风格,以及哪个属性控制特定的空间?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以使用TreeView的填充:

<TreeView Name="treeView1" Padding="0,50,0,0 ">
            <TreeViewItem Header="test" Selected="TreeViewItem_Selected">
                <TreeViewItem Header="sub test" />
            </TreeViewItem>
        </TreeView>

这将在树视图内部的顶部添加50填充。

答案 1 :(得分:1)

我收到了关于Silverlight网络论坛here的问题的答案。基本上我需要添加一个控件模板并更改ItemPresenter上的边距。

<ctl:TreeView>
  <ctl:TreeView.Template>
    <ControlTemplate TargetType="ctl:TreeView">
      <Grid x:Name="Root" >
        <Grid.Resources>
          <SolidColorBrush x:Key="BorderBrush" Color="#FF000000" />
        </Grid.Resources>
        <Border x:Name="Border" BorderBrush="{StaticResource BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">
          <Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" Margin="1">
            <ScrollViewer x:Name="ScrollViewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Background="{x:Null}" BorderBrush="Transparent" BorderThickness="0" IsTabStop="False" TabNavigation="Once">
              <ItemsPresenter x:Name="TreeItems" Margin="5" />
            </ScrollViewer>
          </Border>
        </Border>
      </Grid>
    </ControlTemplate>
  </ctl:TreeView.Template>
<ctl:TreeView>