Уменьшить межстрочный интервал в TextBlock / FlowDocument - PullRequest
42 голосов
/ 10 августа 2009

Некоторые шрифты имеют большое количество пробелов выше и ниже символов. Есть ли способ исправить это и уменьшить расстояние между строками абзаца в WPF (в TextBlock или FlowDocument)? Что-то вроде отрицательного поля между строками?

Существует свойство LineHeight для Paragraph и TextBlock, но оно, кажется, только позволяет увеличить интервал - если вы установите его на меньшее значение, чем значение по умолчанию, это просто игнорироваться.

Ответы [ 3 ]

83 голосов
/ 18 сентября 2009

Установите LineHeight, как раньше, но измените LineStackingStrategy на BlockLineHeight

3 голосов
/ 08 августа 2014

В качестве примера @ ответ Джоэла (который все еще очень полезен 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>
0 голосов
/ 10 августа 2009

См. вопрос .

Есть несколько способов исправить высоту. Тот, который работал для меня, это это , который устанавливает поле на 0.

...