Вот что я хочу: A ListBox
, чьи вещи состоят из StackPanel
с двумя TextBlock
s. Текстовым блокам необходимо поддерживать упаковку, список не должен расширяться, и не должно быть горизонтальной полосы прокрутки. Вот код, который у меня есть. Скопируйте и вставьте его в XAMLPad, и вы увидите, что я говорю о:WPF Textblock в Listbox не обрезается должным образом
<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>
Это, кажется, делает работу по поддержанию TextBlocks расти, но есть одна проблема. Текстовые блоки кажутся немного большими, чем список, в результате чего появляется горизонтальная полоса прокрутки. Это странно, потому что их ширина привязана к ActualWidth lisbox. Кроме того, если вы добавите еще несколько элементов в список (просто вырезаем и вставляем в XamlPad), в результате чего появляется вертикальная полоса прокрутки, ширина текстовых блоков не изменяется на вертикальную полосу прокрутки.
Как сохранить TextBlock
s внутри ListBox
с вертикальной полосой прокрутки или без нее?
Очень хороший вопрос. Я склонен думать, что это ошибка в текстовом блоке WPF. – bitbonk