如何从WPF TextBlock中删除其他填充?

Gle*_*eno 27 c# wpf xaml textblock

默认情况下,WPF TextBlock似乎应用了额外的顶部和底部填充.我希望事实并非如此.

  • 我已经尝试设置负填充,但有一个例外:

    0,-10,0,0'不是属性'Padding'的有效值.

  • 我试过设置LineHeight属性,没有明显效果.

这就是TextBlock在Blend中的外观.我用栗色红色标记了有问题的部分.

红色区域应该被删除

Gle*_*eno 45

一些研究和HB引导我找到正确的答案,即设置以下属性:

<TextBlock LineStackingStrategy="BlockLineHeight"
           LineHeight="20"/> <!-- Or some other value you fancy. --> 
Run Code Online (Sandbox Code Playgroud)

  • 如果也想从底部删除怎么办? (2认同)

H.B*_*.B. 10

这可能是字体的一部分,Segoe UI默认情况下,Segoe例如尝试.(您不能将负填充,但你可以指定负Margins,如:Margin="0,-3,0,0")


Mar*_*ark 5

这个空间不是填充,而是字体的一部分,为字符上方和下方的重音保留。

接受的答案使行高小于字体高度。

  • 作为评论可能会更好 (2认同)