Новая строка в текстовом блоке Silverlight - PullRequest
8 голосов
/ 28 октября 2010

Я знаю, что некоторые будут отвечать на такие вещи, как <LineBreak/>, это не то, что я ищу.

Я хочу знать, храню ли я строку текстового блока в файле ресурсов, могу ли я что-то с этим сделать, чтобы текст в текстовом блоке перешел на новую строку.

пробовал "&lt ; LineBreak/ &gt ;" (без пробела),

пробовал /r/n

пробовал &#13;&#10;

Ни один из вариантов не работал, у кого-нибудь есть идеи?

Ответы [ 2 ]

16 голосов
/ 28 октября 2010

\r\n должен сделать трюк, я думаю, что у вас были косые черты неправильно.Даже просто \n должно работать.

В XAML работает следующее

<TextBlock x:Name="txtMyText" Text="Hello&#10;World"/>

В то время как в коде, стоящем за этим, работает

txtMyText.Text = "Hello\nWorld";

Для ресурсов вам необходимо:указать xml: space = "preserve"

<system:String x:Key="message" xml:space="preserve">Hello&#10;World</system:String>

Используя space preserve, вы также можете сделать следующее

<system:String x:Key="message" xml:space="preserve">Hello
World</system:String>

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

2 голосов
/ 22 марта 2012

Только что попробовал с SL5:

Открыть файл Resx Добавить новую строку.Дайте ему имя (столбец «Имя»). Введите любое значение (столбец «Значение»).Если вам нужен разрыв строки, просто нажмите SHIFT + ENTER.

В коде позади MyTextBlock.Text = MyResource.MyItem;

В вашем текстовом блоке будут правильно отображаться разрывы строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...