Voici ce que je veux: Un ListBox
dont les éléments se composent d'un StackPanel
avec deux TextBlock
s. Les blocs de texte doivent prendre en charge l'habillage, la liste ne doit pas être développée et il ne doit pas y avoir de barre de défilement horizontale. Voici le code que j'ai jusqu'ici. Copiez et collez-le dans XamlPad et vous verrez ce que je parle:WPF Textblock dans Listbox ne pas écrêtage correctement
<ListBox Height="300" Width="300" x:Name="tvShows">
<ListBox.Items>
<ListBoxItem>
<StackPanel>
<TextBlock Width="{Binding ElementName=tvShows, Path=ActualWidth}" TextWrapping="Wrap">Lost is an American live-action television series. It follows the lives of plane crash survivors on a mysterious tropical island.</TextBlock>
<TextBlock Width="{Binding ElementName=tvShows, Path=ActualWidth}" TextWrapping="Wrap">Lost is an American live-action television series. It follows the lives of plane crash survivors on a mysterious tropical island.</TextBlock>
</StackPanel>
</ListBoxItem>
<ListBoxItem>
<StackPanel>
<TextBlock Width="{Binding ElementName=tvShows, Path=ActualWidth}" TextWrapping="Wrap">Lost is an American live-action television series. It follows the lives of plane crash survivors on a mysterious tropical island.</TextBlock>
<TextBlock Width="{Binding ElementName=tvShows, Path=ActualWidth}" TextWrapping="Wrap">Lost is an American live-action television series. It follows the lives of plane crash survivors on a mysterious tropical island.</TextBlock>
</StackPanel>
</ListBoxItem>
</ListBox.Items>
</ListBox>
Cela semble faire le travail de garder les TextBlocks de plus en plus, mais il y a un problème. Les blocs de texte semblent être légèrement plus grands que la zone de liste, provoquant l'apparition de la barre de défilement horizontale. C'est étrange parce que leurs largeurs sont liées à la largeur réelle de lisbox. De plus, si vous ajoutez un peu plus d'éléments à la liste (il suffit de couper et coller dans XamlPad), la barre de défilement verticale apparaîtra, et la largeur des blocs de texte ne sera pas redimensionnée dans la barre de défilement verticale.
Comment conserver les TextBlock
dans le ListBox
, avec ou sans la barre de défilement verticale?
Très bonne question. J'ai tendance à penser que c'est un bug dans le TextBlock WPF. – bitbonk