当文本被设置为属性时,我如何添加换行符:
<TextBlock Text="Stuff on line1 \n Stuff on line2" />
把它分解成分解格式不适合我的特殊情况。我需要的是一些方法来模仿以下:
<TextBlock>
<TextBlock.Text>
Stuff on line1 <LineBreak/>
Stuff on line2
</TextBlock.Text>
<TextBlock/>
当文本被设置为属性时,我如何添加换行符:
<TextBlock Text="Stuff on line1 \n Stuff on line2" />
把它分解成分解格式不适合我的特殊情况。我需要的是一些方法来模仿以下:
<TextBlock>
<TextBlock.Text>
Stuff on line1 <LineBreak/>
Stuff on line2
</TextBlock.Text>
<TextBlock/>
当前回答
<TextBlock>
Stuff on line1 <LineBreak/>
Stuff on line2
</TextBlock>
不是说这是重要的知道,但你指定之间的TextBlock标签被称为内联内容,进入TextBlock。属性,它是一个InlineCollection,包含内联类型的项。 内联的子类包括Run和LineBreak等。 看到TextBlock。内联
其他回答
我知道这是一个老问题,但我只是想补充一下
环境。换行符
如果通过代码来做这个也可以。
我发现这很有帮助,但在XAML中将其添加到“Content=…”标记时遇到了一些错误。
我在内容中有多行,后来发现内容保留了空白,尽管我没有指定这一点。所以为了解决这个问题,让它“忽略”空白,我实现了这样的功能。
<ToolTip Width="200" Style="{StaticResource ToolTip}"
Content="'Text Line 1'


'Text Line 2'


'Text Line 3'"/>
希望这能帮助到其他人。
(输出有三个文本行,每行之间有一个空行。)
<TextBlock Text="Stuff on line1
Stuff on line 2"/>
您可以使用任何十六进制编码的值来表示文字。在本例中,我使用换行(char 10)。如果你想做“经典的”vbCrLf,那么你可以使用

顺便说一下,请注意语法:它是&号,一个磅,字母x,然后是你想要的字符的十六进制值,最后是一个分号。
此外:为了完整起见,您可以绑定到已经嵌入换行符的文本,就像后面代码中的常量或运行时构造的变量一样。
注意,要做到这一点,你需要在文本属性中这样做,你不能使用像这样的内容
<TextBlock>Stuff on line1
Stuff on line 2</TextBlock>
也许你可以使用属性xml:space="preserve"来保存源XAML中的空白
<TextBlock xml:space="preserve">
Stuff on line 1
Stuff on line 2
</TextBlock>