如何在标签中添加换行符

时间:2013-04-12 15:27:11

标签: wpf c#-4.0

如何在标签中添加换行符。我有一个标签,我在其中添加一个文本,这将导致此显示

一个 乙 C 我在WinForms c#中使用Environment.NewLine完成了此操作,但这在WPF应用程序中不起作用

有人可以告诉我如何在标签中添加换行符?

我是从代码背后做的,而不是XAML

3 个答案:

答案 0 :(得分:10)

如果您使用TextBlock instead of Label(您应该是!),那么您可以这样做:

<TextBlock>
    <Run Text="First Line"/>
    <LineBreak/>
    <Run Text="Second Line"/>
</TextBlock>

你也可以从背后的代码中做到这一点(不知道为什么你会想要):

tb.Inlines.Add(new Run("First Line"));
tb.Inlines.Add(new LineBreak());
tb.Inlines.Add(new Run("Second Line"));

答案 1 :(得分:7)

我不认为Environment.NewLine在您的情况下不起作用。在XAML中检查标签的高度。当您添加换行符时,它会增加标签中的内容,如果高度不够,那么您无法看到。我认为你面临这个问题其他明智的我没有看到Environment.NewLine的任何问题:)尝试添加高度并告诉我

答案 2 :(得分:3)

设置你的最大宽度,然后让布局机制找到放回车的位置或把一些\ n放在那里

    TextBlock tb = new TextBlock();
        tb.Text = "This is a line with a carriage return";
        tb.MaxWidth = 100;
        tb.TextWrapping = TextWrapping.Wrap;


        pan.Children.Add(tb);

在上面的代码中,pan只是一个堆栈面板控件,当然你将添加到你的标签控件中