Вертикальный текст в текстовом блоке Wpf - PullRequest
42 голосов
/ 08 декабря 2008

Можно ли отображать текст в текстовом блоке вертикально, чтобы все буквы были сложены друг на друга (без поворота с помощью LayoutTransform)?

Ответы [ 13 ]

1 голос
/ 28 сентября 2010

создать стековую панель с кучей текстовых блоков, которые занимают один символ

0 голосов
/ 09 сентября 2009
<linebreak/> can be used to show data in two lines
0 голосов
/ 09 декабря 2008

Вот способ вставить '\ n' после каждого символа в тексте TextBlock, чтобы он отображался вертикально:

<TextBlock x:Name="VertTextBlock" Text="Vertical Text" Loaded="VertTextBlock_Loaded"></TextBlock>

Затем в обработчике событий Loaded вы говорите:

TextBlock tb = sender as TextBlock;
StringBuilder sb = new StringBuilder(tb.Text);
int len = tb.Text.Length * 2;

for (int i = 1; i < len; i += 2)
{
    sb.Insert(i, '\n');
}

tb.Text = sb.ToString();

Это решение было предложено Lette, но я считаю, что моя реализация требует меньших затрат.

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