Проблема, связанная с отсутствием переноса текста в списке, заключается в том, что список по своему дизайну не ограничивает размер своих дочерних объектов; они могут расширяться за пределы видимой границы поля, в это время отображается полоса прокрутки, чтобы пользователь мог прокручивать список вниз / вниз.
Если в момент, когда вы создаете и заполняете список, вы устанавливаете для ширины дочерних элементов (будь то TextBox или TextBlock) известное значение (например, ширина списка без минус поля), а затем задаете TextWrapping.Wrap как обычно, ваш текст будет переноситься, как вы ожидаете.