2009-05-12 5 views
1

This 하나에 대한 당연한 질문이 있습니다.Silverlight - TreeView 및 첫 번째 TreeViewItem 위쪽 사이의 공간

어떻게 TreeView 컨트롤의 맨 위와 첫 번째 TreeViewItem 사이의 간격을 변경할 수 있습니까? 특히 컨트롤의 위쪽과 첫 번째 항목 사이의 공간을 줄이려고합니다. 다른 질문과 마찬가지로 TreeView를 다시 작성해야한다고 생각합니다. 그러나 어떤 스타일을 적용해야합니까? 그리고 어떤 속성이 특정 공간을 제어합니까?

미리 감사드립니다.

답변

1

Silverlight, net forums 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> 
1

당신은 트 리뷰의 패딩을 사용할 수 있습니다

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

이 트리 뷰의 내부의 상단에 50의 패딩을 추가합니다.

+0

불행히도 공간을 줄이기 위해 (이 질문을 편집하여 수정했습니다) 옵션이 작동하지 않습니다. 패딩을 시도했지만 그 속성은 음수를 허용하지 않습니다. –

+0

아, 글쎄, 나는 시도했다. :) 나는 당신이 다른 포스트에서 당신의 답을 찾은 것을 기쁘게 생각합니다. – CodeLikeBeaker

관련 문제