WPF ajusta el texto del encabezado en TreeViewItem

Creé un TreeView en WPF con un ancho fijo de 145 px y todos sus elementos secundarios (TreeViewItems) tienen un texto de encabezado que es más ancho que 145 px, lo que significa que aparece una barra de desplazamiento horizontal en la parte inferior del TreeView.

Logré deshacerme de esa barra de desplazamiento agregando:

ScrollViewer.HorizontalScrollBarVisibility="Hidden"

A mi TreeView.

Sin embargo, el texto del encabezado que es demasiado ancho ahora está oculto, por lo que quiero envolver el texto del encabezado para que encaje en el TreeView con un ancho de 145px.

He buscado soluciones al respecto y he probado algunas de las que encontré, ¡pero aún no las he conseguido y me siento frustrado!

Aquí está mi código 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>

preguntado el 03 de mayo de 12 a las 10:05

1 Respuestas

Quizás esto funcione para ti:

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

contestado el 03 de mayo de 12 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.