2009-07-20 6 views
11

Mon ListBox a, entre autres, un champ de description qui peut être assez long. Au lieu d'avoir une barre de défilement horizontale, je veux envelopper le mot. Cela fonctionne si je mets le MaxWidth mais puisque la taille des changements ListBox je ne veux pas coder la valeur.WPF listbox item not wordwrapping

Quelle est la meilleure façon de faire cela?

EDIT: La description est dans un TextBlock.

simplifié XAML (Suppression des choses unnessesary, montre encore problème:

  <ListBox BorderThickness="0" Padding="5" Name="lstTasks"> 
      <ListBox.ItemsSource> 
       <Binding Source="{StaticResource dataTasks}"/> 
      </ListBox.ItemsSource> 

      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid> 
         <TextBlock Text="{Binding Path=RequestDescription}" TextTrimming="WordEllipsis" TextWrapping="Wrap" Height="60" /> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
+0

Puisque vous avez dit que le paramètre MaxWidth fonctionnerait, que diriez-vous de lier cette MaxWidth à quelque chose qui fait changer la largeur? –

Répondre

29

Essayez de forcer la largeur de votre ListBoxItems être la largeur de la zone de liste:

<ListBox 
    Name="lstTasks" 
    BorderThickness="0" 
    Padding="5" 
    HorizontalContentAlignment="Stretch"> 

Vous pouvez également essayer de désactiver horizontale défilement:

<ListBox 
    ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
    ...> 
+2

Merci, la désactivation de la barre de défilement l'a corrigé instantanément. –

+0

Merci - la désactivation a fonctionné pour moi aussi. –

+0

Si cela a fonctionné pour vous, upvote. Les commentaires de pile ne sont pas des évaluations d'eBay. – Gusdor

0

Il n'y a pas de signification d'utiliser l'habillage et tr immerger ensemble. Vous devriez utiliser l'un d'eux texttrimming ou textwrapping. Il l'enlève, il ne s'enroule pas.

Pour TextWrapping la réponse de Matt est correct pour vous parage devez définir la largeur ou maxwidth valeur de la propriété.

C'est exactement la même chose pour les développeurs SL.