【发布时间】:2009-05-13 21:05:49
【问题描述】:
我对This有一个必然的问题。
如何更改 TreeView 控件顶部与第一个 TreeViewItem 之间的间距?具体来说,我想减少控件顶部和第一项之间的空间。与其他问题一样,我猜我需要重新设置 TreeView 的样式。但是,我需要更改哪种样式,以及哪个属性控制该特定空间?
提前致谢。
【问题讨论】:
标签: c# silverlight treeview
我对This有一个必然的问题。
如何更改 TreeView 控件顶部与第一个 TreeViewItem 之间的间距?具体来说,我想减少控件顶部和第一项之间的空间。与其他问题一样,我猜我需要重新设置 TreeView 的样式。但是,我需要更改哪种样式,以及哪个属性控制该特定空间?
提前致谢。
【问题讨论】:
标签: c# silverlight treeview
您可以为 TreeView 使用填充:
<TreeView Name="treeView1" Padding="0,50,0,0 ">
<TreeViewItem Header="test" Selected="TreeViewItem_Selected">
<TreeViewItem Header="sub test" />
</TreeViewItem>
</TreeView>
这将在树视图内部的顶部添加 50 的填充。
【讨论】:
我在 Silverlight,net 论坛 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>
【讨论】: