2012-05-03 1 views
1

나는 145px 고정 너비의 WPF에서 TreeView를 만들었으며 모든 자식 요소 (TreeViewItems)는 145px보다 넓은 헤더 텍스트를 가지므로 가로 스크롤 막대가 TreeView의 맨 아래에 나타납니다. .WPF에서 TreeViewItem의 머리글 텍스트 바꿈

내 TreeView에 ScrollViewer.HorizontalScrollBarVisibility="Hidden"을 추가하여 스크롤바를 없앨 수있었습니다.

그러나 너비가 너무 큰 헤더 텍스트가 숨겨져 있으므로 머리글 텍스트를 래핑하여 145 픽셀 너비의 TreeView에 맞춰야합니다.

나는 이것에 대한 해결책을 찾았고 발견 한 이들 중 일부를 시도했지만 여전히 효과가 없어서 나를 좌절하게 만듭니다!

<TreeView ScrollViewer.HorizontalScrollBarVisibility="Hidden" Width="145" Name="tree_menu" > 
    <TreeViewItem Header="This is a very long root element node text"> 
     <TreeViewItem Header="this is a very long child element node text" /> 
    </TreeViewItem> 
</TreeView> 

답변

4

어쩌면이 당신을 위해 작동 :

여기 내 XAML 코드

<TreeView Name="tree_menu"> 
    <TreeView.Resources> 
     <Style TargetType="{x:Type TreeViewItem}"> 
      <Setter Property="HeaderTemplate"> 
       <Setter.Value> 
        <DataTemplate> 
         <TextBlock Width="145" 
            TextWrapping="Wrap" 
            Text="{Binding}" /> 
        </DataTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </TreeView.Resources> 
    <TreeViewItem Header="This is a very long root element node text"> 
     <TreeViewItem Header="this is a very long child element node text" /> 
    </TreeViewItem> 
</TreeView> 
+0

당신이 너무 컨텍스트 메뉴 작동 – bale3

+0

:-) 대단히 선생님 감사합니다. – Zamboni