当文本被设置为属性时,我如何添加换行符:
<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 Text="Stuff on line1
Stuff on line 2"/>
您可以使用任何十六进制编码的值来表示文字。在本例中,我使用换行(char 10)。如果你想做“经典的”vbCrLf,那么你可以使用

顺便说一下,请注意语法:它是&号,一个磅,字母x,然后是你想要的字符的十六进制值,最后是一个分号。
此外:为了完整起见,您可以绑定到已经嵌入换行符的文本,就像后面代码中的常量或运行时构造的变量一样。
其他回答
也不工作
<TextBlock><TextBlock.Text>NO USING ABOVE TECHNIQUE HERE</TextBlock.Text>
没什么大不了的,只是需要用一下
<TextBlock Text="Cool 
Newline trick" />
代替。
解决方案背后的代码
private void Button1_Click(object sender, RoutedEventArgs e)
{
System.Text.StringBuilder myStringBuilder = new System.Text.StringBuilder();
myStringBuilder.Append("Orange").AppendLine();
myStringBuilder.Append("").AppendLine();
myStringBuilder.Append("Apple").AppendLine();
myStringBuilder.Append("Banana").AppendLine();
myStringBuilder.Append("").AppendLine();
myStringBuilder.Append("Plum").AppendLine();
TextBox1.Text = myStringBuilder.ToString();
}
也许有人更喜欢
<TextBlock Text="{Binding StringFormat='Stuff on line1{0}Stuff on line2{0}Stuff on line3',
Source={x:Static s:Environment.NewLine}}" />
xmlns: s =“clr-namespace:系统;装配= mscorlib”。
<TextBlock Text="Stuff on line1
Stuff on line 2"/>
您可以使用任何十六进制编码的值来表示文字。在本例中,我使用换行(char 10)。如果你想做“经典的”vbCrLf,那么你可以使用

顺便说一下,请注意语法:它是&号,一个磅,字母x,然后是你想要的字符的十六进制值,最后是一个分号。
此外:为了完整起见,您可以绑定到已经嵌入换行符的文本,就像后面代码中的常量或运行时构造的变量一样。
我知道这是一个老问题,但我只是想补充一下
环境。换行符
如果通过代码来做这个也可以。