Как представить строку Break или новую строку в silverlight textBox
Мне сложно сопоставить специальные символы, установленные в Silverlight. Я только на следующее:
Чтобы представить LineBreak в Silverlight TextBlock:
use: > lineBreak <
Но что я использую для представления новой строки или LineBreak в Silverlight TextBox??
Пример: Мне нужна эта строка: это строка. Это вторая строка
в это:
Это строка первая.
Это вторая строка.
Кажется, что этот \r\n не работает. Это строка первая\r\n
Ответы
Ответ 1
Нижняя строка вверху
<TextBox Text="This is line one! This is line two!" />
Вирусы Linebreak в Silverlight TextBox
Если вы собираетесь инициализировать содержимое TextBox буквальным текстом в Xaml аналогичным образом, чтобы вы могли использовать TextBlock, вам нужен надежный способ представления символа прерывания строки, который Silverlight использует в Xaml.
Silverlight использует символ CR (0x0D - ASCII 13) для представления строки, которую в С# вы включаете в строковый литерал как \r. Однако Xaml не является С#, поэтому вы не можете использовать \r в Xaml.
Xaml является фундаментальным XML, но с некоторыми хаотичными разборами Xaml. Просто включив строку, как сказал Дерек в своем ответе, прямо в Xaml не будет работать во время выполнения (хотя разработчик отображает его, как ожидалось). Вы можете подумать, что это потому, что Xml использует символ LF (0x0A) как символ линии. Однако в коде вы можете назначить строку, содержащую "\ r" или "\n" для свойства Text
, и TextBox покажет новую строку. Фактически вы можете назначить последовательность "\ r\n", и она отобразит одну новую строку (не две новые строки).
В конечном итоге вы можете использовать объект кода символа Xml для представления \r в Xaml " "
, который выживает в процессе разбора Xaml по причине, которую я не могу объяснить.
Ответ 2
В XAML вы можете просто использовать LineBreak:
<TextBlock Name="textBlock1" >line 1 <LineBreak /> line 2</TextBlock>
Ответ 3
Чтобы добавить разрыв строки в свойство Text
объекта TextBox
в XAML, используйте код символа ASCII для перевода строки, как показано в следующем примере:
<TextBox x:Name="_test" Height="150" Text="This is line one.
This is line two." />
Чтобы добавить разрыв строки к свойству Text
для TextBox
в кодировке, используйте статическое значение Environment.NewLine
(которое совпадает с \r\n
), как показано в следующем примере кода:
this._test.Text = string.Format(
"This is line one.{0}This is line two.",
Environment.NewLine);
Ответ 4
Если вы хотите отобразить строку с возвратом каретки в ней, просто используйте строку с возвратом каретки в ней:
MyTextBlock.Text = @"line 1
line2";
Ответ 5
Спасибо всем.
Он работает.
Для Silverlight TextBlock
: используйте <lineBreak/>
в XAML TextBlock
.
Спасибо AnthonyWJones
Для Silverlight textBox
я использую "\ r" в строке, которая используется для отображения в textBox
.
Ответ 6
Для разрыва строки в Windows Phone Silverlight TextBlock используйте:
"Это линия первая!" и vbCrLf и "Это строка вторая!"
Ответ 7
<TextBox x:Name="textBox" AcceptsReturn="True" />