WPF 在 TreeViewItem 上换行标题文本

本文关键字:标题 文本 换行 TreeViewItem WPF | 更新日期: 2023-09-27 18:32:56

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

我设法通过添加以下内容摆脱了该滚动条:

ScrollViewer.HorizontalScrollBarVisibility="Hidden"

到我的树视图。

但是,太宽的标题文本现在被隐藏了,因此我想将标题文本换行,使其适合宽度为 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>

WPF 在 TreeViewItem 上换行标题文本

也许这对你有用:

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