我对 This 一个问题有一个推论。
如何更改TreeView控件顶部与第一个TreeViewItem之间的间距?具体来说,我想减少控件顶部和第一个项目之间的空间。和其他问题一样,我猜我需要重新安装TreeView。但是,我需要什么样的风格,以及哪个属性控制特定的空间?
提前致谢。
答案 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>