如何在WPF TextBlock中强制文本换行

时间:2013-08-01 09:43:42

标签: wpf textblock

我使用TextBlock:

<TextBlock Text="HelloWorld" Width="600" />

如何让我的文字在两行上呈现:

Hello
World

我可以使用特殊的换行符,如下所示吗?

<TextBlock Text="Hello\nWorld" Width="600" />

我不想更改TextBlock的宽度,因为我不想使用自动文本换行算法,如TextWrapping =“Wrap”或TextWrapping =“WrapWithOverflow”:我希望能够在字符串本身指定哪里它应该包装。

3 个答案:

答案 0 :(得分:6)

如果你使用LineBreak,它应该做你想要的。

<TextBlock>
    Hello<LineBreak/>World
</TextBlock>

您也可以使用  :

<TextBlock Text="Hello&#x0a;World" />

答案 1 :(得分:3)

您可以设置TextBlock的Inlines属性,而不是Text

<TextBlock>
    <TextBlock.Inlines>
        <Run Text="Hello"/>
        <LineBreak/>
        <Run Text="World"/>
    </TextBlock.Inlines>
</TextBlock>

这是用户 mcalex 已回答的显式形式。

答案 2 :(得分:2)

尝试:

<TextBlock>
  First line
  <LineBreak />
  Second line
</TextBlock>