4

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

A B C 我已经在 WinForms c# 中完成了此操作,Environment.NewLine但这在 WPF 应用程序中不起作用

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

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

4

3 回答 3

11

如果您可以使用TextBlock 而不是 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"));
于 2013-04-12T15:50:56.973 回答
7

我认为这Environment.NewLine不适用于您的情况。检查 XAML 中标签的高度。当您添加换行符时,它会增加标签中的内容,如果高度不够,那么您将看不到。我认为您正面临这个问题,否则我认为没有任何问题Environment.NewLine:) 尝试增加高度并告诉我

于 2013-04-12T15:47:40.677 回答
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 只是一个堆栈面板控件,您当然会添加到包含您的标签的任何控件

于 2013-04-12T15:37:02.373 回答