Подтвердить что ты не робот

Уменьшить межстрочный интервал в TextBlock/FlowDocument

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

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

4b9b3361

Ответ 1

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

Ответ 2

Чтобы проиллюстрировать ответ @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>

Ответ 3

Смотрите question.

Существует несколько способов исправления высоты. Тот, который работал у меня, this, который устанавливает маржу в 0.