减少TextBlock / FlowDocument中的行间距

时间:2009-08-10 12:08:02

标签: wpf fonts textwrapping

某些字体在字符的上方和下方都有大量的空白。有没有办法纠正它,并收紧WPF中一个自动换行的段落行之间的空格(在TextBlock或FlowDocument中)?有点像线之间的负边距?

LineHeightParagraph上有一个TextBlock属性,但它似乎只是让你增加的间距 - 如果你把它设置得更小值比默认值,它只是被忽略。

3 个答案:

答案 0 :(得分:83)

像以前一样设置LineHeight,但将LineStackingStrategy更改为BlockLineHeight

答案 1 :(得分:3)

举例说明@ Joel的答案(5年后仍然非常有用:P)

    <StackPanel VerticalAlignment="Center">
        <Button Width="137" Height="47.96">
            <TextBlock Text="This is a very long text that gets cut because it is so long" TextWrapping="Wrap"/>
        </Button>
        <Button Width="137" Height="47.96">
            <TextBlock Text="This is a very long text that doesn't cut thanks to @Joel" TextWrapping="Wrap" 
                LineStackingStrategy="BlockLineHeight" LineHeight="13"/>
        </Button>
    </StackPanel>

答案 2 :(得分:-1)

请参阅此question

有几种不同的方法来修复高度。对我有用的是this,它将边距设置为0。