Использование <p>в Silverlight - PullRequest
0 голосов
/ 29 января 2011

Как я могу отобразить мой текст как есть, значит, если у него есть абзац, он должен отображаться только таким образом ?. Я использую <TextBlock>.

Например.

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.

lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll.

Thanx

Ответы [ 2 ]

3 голосов
/ 29 января 2011

TextBlock в Silverlight поддерживает только очень простое форматирование. RichTextBox (установите IsReadOnly с несколькими другими настройками форматирования) может быть лучшим выбором в некоторых ситуациях.

Вы можете попробовать что-то подобное при использовании TextBlock:

<TextBlock>
    <Run Text="Paragraph 1"/><LineBreak/><Run/>
    <LineBreak/>
    <Run Text="Paragraph 2"/><LineBreak/>
    <Run Text="No visible break."/>
    <LineBreak/>
    <Run Text="Paragraph 3"/><LineBreak/><Run/>
    <LineBreak/>
    <Run Text="End"/>
</TextBlock>

Это приведет к блоку текста, подобному этому:

Paragraph 1

Paragraph 2
No visible break.
Paragraph 3

End

Если у вас уже есть разметка, вы можете использовать замену строк или регулярные выражения, чтобы сделать некоторые изменения для вас. Например, это может работать:

A <p> может быть <Run>.

A </p> может быть </Run><LineBreak/><LineBreak/>.

0 голосов
/ 29 января 2011

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

Вот как я это исправил:

public String Body { get; set; }

// Assign a string to Body

Body = Body.Replace("\n", "\n\n");
Body = Body.Replace("\r", "\r\r");

Затем я назначил Body для текстового блока:

txt_article.Text = Body;

Надеюсь, это поможет:)

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