TreeViewItem上的WPF包装头文本

时间:2012-05-03 09:02:09

标签: c# wpf treeview treeviewitem

我在WPF中创建了一个固定宽度为145px的TreeView,其所有子元素(TreeViewItems)都有一个宽于145px的标题文本,这意味着TreeView底部会出现一个水平滚动条。

我设法通过添加:

来摆脱滚动条
ScrollViewer.HorizontalScrollBarVisibility="Hidden"

到我的TreeView。

但是,现在隐藏了太宽的标题文本,所以我想包装标题文本,使其适合宽度为145px的TreeView。

我已经在这方面寻找解决方案并尝试了一些我发现的解决方案,但仍然没有让它工作,这让我很沮丧!

这是我的XAML代码:

<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>

1 个答案:

答案 0 :(得分:4)

也许这适合你:

<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>