当文本被设置为属性时,我如何添加换行符:

<TextBlock Text="Stuff on line1 \n Stuff on line2" />

把它分解成分解格式不适合我的特殊情况。我需要的是一些方法来模仿以下:

<TextBlock>
  <TextBlock.Text>
    Stuff on line1 <LineBreak/>
    Stuff on line2
  </TextBlock.Text>
<TextBlock/>

当前回答

我发现这很有帮助,但在XAML中将其添加到“Content=…”标记时遇到了一些错误。

我在内容中有多行,后来发现内容保留了空白,尽管我没有指定这一点。所以为了解决这个问题,让它“忽略”空白,我实现了这样的功能。

<ToolTip Width="200" Style="{StaticResource ToolTip}" 
         Content="'Text Line 1' 
                   &#x0a;&#x0d;'Text Line 2' 
                   &#x0a;&#x0d;'Text Line 3'"/>

希望这能帮助到其他人。

(输出有三个文本行,每行之间有一个空行。)

其他回答

也不工作

<TextBlock><TextBlock.Text>NO USING ABOVE TECHNIQUE HERE</TextBlock.Text>

没什么大不了的,只是需要用一下

<TextBlock Text="Cool &#x0a;Newline trick" />

代替。

<TextBlock>
    Stuff on line1 <LineBreak/>
    Stuff on line2
</TextBlock>

不是说这是重要的知道,但你指定之间的TextBlock标签被称为内联内容,进入TextBlock。属性,它是一个InlineCollection,包含内联类型的项。 内联的子类包括Run和LineBreak等。 看到TextBlock。内联

注意,要做到这一点,你需要在文本属性中这样做,你不能使用像这样的内容

<TextBlock>Stuff on line1&#x0a;Stuff on line 2</TextBlock>

你只需要删除<TextBlock。文本>,并简单地添加您的内容如下:

    <Grid Margin="20">
        <TextBlock TextWrapping="Wrap" TextAlignment="Justify" FontSize="17">
        <Bold FontFamily="Segoe UI Light" FontSize="70">I.R. Iran</Bold><LineBreak/>
        <Span FontSize="35">I</Span>ran or Persia, officially the <Italic>Islamic Republic of Iran</Italic>, 
        is a country in Western Asia. The country is bordered on the 
        north by Armenia, Azerbaijan and Turkmenistan, with Kazakhstan and Russia 
        to the north across the Caspian Sea.<LineBreak/>
        <Span FontSize="10">For more information about Iran see <Hyperlink NavigateUri="http://en.WikiPedia.org/wiki/Iran">WikiPedia</Hyperlink></Span>
            <LineBreak/>
            <LineBreak/>
            <Span FontSize="12">
                <Span>Is this page helpful?</Span>
                <Button Content="No"/>
                <Button Content="Yes"/>
            </Span>
    </TextBlock>
    </Grid>

我知道这是一个老问题,但我只是想补充一下

环境。换行符

如果通过代码来做这个也可以。