How to remove additional padding from a WPF TextBlock?

11,418

Solution 1

Some research and H.B. guided me to the right answer, which is setting the following properties:

<TextBlock LineStackingStrategy="BlockLineHeight"
           LineHeight="20"/> <!-- Or some other value you fancy. --> 

Solution 2

This is probably part of the font which is Segoe UI by default, try Segoe instead for example. (You cannot assign negative padding but you could assign negative Margins, e.g.: Margin="0,-3,0,0")

Solution 3

This space is not padding, but part of the font, reserved for accents above and below characters.

The accepted answer makes the line height smaller than the font height.

Share:
11,418
Gleno
Author by

Gleno

I am the very model of a modern major general.

Updated on June 19, 2022

Comments

  • Gleno
    Gleno almost 2 years

    By default a WPF TextBlock seems to have additional top and bottom padding applied. I wish this wasn't so.

    • I've tried setting negative padding, but got an exception:

      0,-10,0,0' is not a valid value for property 'Padding'.

    • I've tried setting the LineHeight property, to no apparent effect.

    This is how the TextBlock looks in Blend. I've marked the problematic portion with maroon red.

    the red area should be removed

  • Josh Noe
    Josh Noe over 6 years
    This might be better as a comment
  • Khawaja Asim
    Khawaja Asim about 5 years
    what if want to remove from the bottom too?