WPF标签中的换行符?

如何在WPF中的标签文本中添加换行符,如下所示?

<Label>Lorem ipsum</Label> 
 <Label><TextBlock>Lorem<LineBreak/>ipsum</TextBlock></Label> 

您需要使用TextBlock,因为TextBlock接受内联对象的集合作为子项。 所以你给TextBlock元素三个内联项:运行文本=“Lorem”,LineBreak和运行文本=“ipsum”。

你不能做到以下几点:

 <Label>Lorem<LineBreak/>ipsum</Label>` 

因为一个标签接受一个内容子元素。

编辑:另外,不确定你的用例是什么,但注意到我放置在您的标签元素的TextBlock。 重复吗? 不是真的,取决于你的需要。 这里有一篇关于两个元素之间差异的好文章: 标签和TextBlock之间的区别

在WPF中,您可以使用值"&#10;""&#xA;"

例如:

 <Label Content="Lorem&#10;ipsum" /> 

(“10”是换行符的ASCII码)

要么

 <Label Content="Lorem&#xA;ipsum" /> 

(“A”是hex换行符的ASCII码)

例如,用边框标签来显示边界

在ViewModel或Model中执行此操作时,我发现使用Environment.NewLine具有最一致的结果,包括本地化。 它应该直接在视图中工作,但我没有testing过。

例:

在视图中

 <Label Content="{Binding SomeStringObject.ParameterName}" /> 

在ViewModel中:

 SomeStringObject.ParameterName = "First line" + Environment.NewLine + "Second line";