multiline текст - Многострочный для WPF TextBox




textblock scrollbar (5)

Кроме того, если, как и я, вы добавляете элементы управления непосредственно в XAML (не используя редактор), вы можете разочароваться в том, что он не будет растягиваться до доступной высоты даже после установки этих двух свойств.

Чтобы растянуть TextBox, установите Height="Auto" .

ОБНОВИТЬ:

В ретроспективе я думаю, что это, должно быть, было необходимо благодаря стилю по умолчанию для TextBox, определяющему высоту некоторого стандарта для приложения где-то в ресурсах приложения. Возможно, стоит проверить это, если это вам помогло.

Я разрабатываю приложение для отправки некоторых отзывов.

В основном я пытаюсь сделать TextBox для комментариев, но я привык к WinForms MultiLine=true . Я установил MinLines в 3, который добирается туда, но, желательно, мне понравится, если пользователь сможет набирать текст, где бы вы ни находились в этом блоке, - например, нажмите enter и сделайте точную точку. Например:

- Item 1        blah
- Item 2                blahlb lahbvl   d

Но в настоящий момент текст остается на одной линии.

- Item 1         blah - Item 2                      blahb blahb blah

Эти комментарии затем помогут заполнить тело отправленного сообщения электронной почты. Это может быть бессмысленно, если я не могу легко сохранить одно и то же форматирование, когда помещаю эту строку в строку тела электронной почты (так, чтобы она выглядела так, как она была отправлена, как и при вводе).

Могу ли я достичь того, что мне нужно, или мне нужно оставить его как весь текст в одной строке?


В отличие от @Andre Luus, установка Height="Auto" не приведет к растягиванию TextBox . Решение, которое я нашел, это установить VerticalAlignment="Stretch"


Включить TextWrapping="Wrap" и AcceptsReturn="True" в вашем TextBox.

Возможно, вы также захотите включить AcceptsTab и SpellCheck.IsEnabled .


Вот пример XAML , который позволит TextBox принимать многострочный текст и использует собственные полосы прокрутки:

<TextBox
Height="200"
Width="500"
TextWrapping="Wrap"
AcceptsReturn="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"/>

Другим вариантом может быть сохранение длинных строк во внешнем файле и чтение файла в строку.





wpf textbox multiline