【问题标题】:How can I force a text wrapping in a WPF TextBlock如何强制在 WPF TextBlock 中换行
【发布时间】:2013-08-02 04:00:39
【问题描述】:

我这样使用 TextBlock:

<TextBlock Text="HelloWorld" Width="600" />

我怎样才能让我的文本在两行上呈现:

Hello
World

我可以像下面这样使用特殊的换行符吗?

<TextBlock Text="Hello\nWorld" Width="600" />

我不想更改 TextBlock 的宽度,因为我不想使用像 TextWrapping="Wrap" 或 TextWrapping="WrapWithOverflow" 这样的自动文本换行算法:我希望能够在字符串本身中指定在哪里它应该换行。

【问题讨论】:

    标签: wpf textblock


    【解决方案1】:

    如果你使用 LineBreak,它应该做你想做的事。

    <TextBlock>
        Hello<LineBreak/>World
    </TextBlock>
    

    你也可以使用 :

    <TextBlock Text="Hello&#x0a;World" />
    

    【讨论】:

      【解决方案2】:

      您可以设置 TextBlock 的 Inlines 属性,而不是 Text

      <TextBlock>
          <TextBlock.Inlines>
              <Run Text="Hello"/>
              <LineBreak/>
              <Run Text="World"/>
          </TextBlock.Inlines>
      </TextBlock>
      

      这是用户 mcalex 已回答的明确形式。

      【讨论】:

        【解决方案3】:

        试试:

        <TextBlock>
          First line
          <LineBreak />
          Second line
        </TextBlock>
        

        【讨论】:

        • @ArnaudWeil 我想你会发现 Arhiman 的答案实际上和我的一样,只是多了一个用法。
        猜你喜欢
        • 2010-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多