Ответ 1
Некоторые исследования и H.B. привели меня к правильному ответу, который устанавливает следующие свойства:
<TextBlock LineStackingStrategy="BlockLineHeight"
LineHeight="20"/> <!-- Or some other value you fancy. -->
По умолчанию WPF TextBlock
, похоже, имеет дополнительное верхнее и нижнее дополнение. Я бы хотел, чтобы это было не так.
Я попытался установить отрицательное дополнение, но получил исключение:
0, -10,0,0 'не является допустимым значением для свойства "Заполнение".
Я пробовал установить свойство LineHeight
без видимого эффекта.
Так выглядит TextBlock в Blend. Я обозначил проблематичную часть темно-бордовым красным цветом.
Некоторые исследования и H.B. привели меня к правильному ответу, который устанавливает следующие свойства:
<TextBlock LineStackingStrategy="BlockLineHeight"
LineHeight="20"/> <!-- Or some other value you fancy. -->
Это, по-видимому, часть шрифта Segoe UI
по умолчанию, попробуйте Segoe
вместо этого, например. (Вы не можете назначить отрицательное отступы, но вы можете назначить отрицательный Margins
, например: Margin="0,-3,0,0"
)
Это пространство является частью шрифта, используемого для акцентов над буквами и тому подобное. Принимаемый ответ позволяет сделать высоту линии меньше высоты шрифта.