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

问题描述 投票:27回答:3

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

  • 我已经尝试设置负填充,但有一个例外: 0,-10,0,0'不是属性'Padding'的有效值。
  • 我试过设置LineHeight属性,没有明显效果。

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

c# wpf xaml textblock
3个回答
44
投票

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

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

10
投票

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


4
投票

此空间不是填充,而是字体的一部分,保留用于字符上方和下方的重音符号。

接受的答案使得线条高度小于字体高度。

© www.soinside.com 2019 - 2024. All rights reserved.