开发者

How to remove additional padding from a WPF TextBlock?

By default a WPF TextBlock seems to have additional top and bottom padding applied. I w开发者_JS百科ish 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.

How to remove additional padding from a WPF TextBlock?


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. --> 


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")


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜