Force TextBlock для переноса в WPF ListBox

У меня есть список WPF, который отображает сообщения. Он содержит аватар с левой стороны и имя пользователя и сообщение, расположенные вертикально справа от аватара. Макет отлично до тех пор, пока текст сообщения не будет обертываться словами, но вместо этого я получаю горизонтальную полосу прокрутки в списке.

Я искал Google и нашел решения для подобных проблем, но никто из них не работал.

                

Содержимое TextBlock можно обернуть, используя свойство TextWrapping . Вместо StackPanel используйте DockPanel / Grid . Еще одна вещь – установить свойство ScrollViewer.HorizontalScrollBarVisibility значение Disabled для ListBox .

Обновлено Hidden для Disabled на основе комментария от Мэтта. Спасибо Мэтт.

Проблема может быть не в списке ListBox. TextBlock не будет обертываться, если один из родительских элементов управления обеспечивает достаточное пространство, так что ему не нужно обертывать. Это может быть вызвано элементом управления ScrollViewer.

Если вы хотите, чтобы TextBlock не увеличивался, и вы хотите, чтобы он просто соответствовал размеру списка, вы должны явно установить его ширину.

Чтобы динамически изменить его, это означает не значение fix, но вам нужно привязать его к его собственному родительскому элементу в визуальном дереве. У вас может быть что-то вроде этого:

           

Если это не сработает, попробуйте найти нужные элементы (которые должны быть привязаны к чему) с помощью Live Visual Tree в Visual Studio.

  • WPF MVVM Зачем использовать ContentControl + DataTemplate Views, а не прямые XAML Window Views?
  • Диспетчер WPF {«вызывающий stream не может получить доступ к этому объекту, потому что ему принадлежит другой stream».}
  • Изменение вида для ViewModel
  • Как я могу читать / записывать настройки app.config во время выполнения без использования пользовательских настроек?
  • WPF ListView Неактивный цвет выделения
  • Группировка элементов в ComboBox
  • Изображение в WPF-кнопке не отображается в режиме Runtime
  • MVVM: привязка переключателей к модели просмотра?
  • Отключить ключ ускорителя ярлыков WPF (текст подчеркивания отсутствует)
  • Призматическое подстановочное взаимодействие
  • Обнаружение ошибок проверки WPF
  • Interesting Posts
    Давайте будем гением компьютера.