Подтвердить что ты не робот

Как представить строку Break или новую строку в silverlight textBox

Мне сложно сопоставить специальные символы, установленные в Silverlight. Я только на следующее:

Чтобы представить LineBreak в Silverlight TextBlock:

use: > lineBreak <

Но что я использую для представления новой строки или LineBreak в Silverlight TextBox??

Пример: Мне нужна эта строка: это строка. Это вторая строка

в это:

Это строка первая. Это вторая строка.

Кажется, что этот \r\n не работает. Это строка первая\r\n

4b9b3361

Ответ 1

Нижняя строка вверху

<TextBox Text="This is line one!&#13;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 "&#13;", который выживает в процессе разбора 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" />