【问题标题】:How to remove additional padding from a WPF TextBlock?如何从 WPF TextBlock 中删除额外的填充?
【发布时间】:2011-11-24 12:33:42
【问题描述】:

默认情况下,WPF TextBlock 似乎应用了额外的顶部和底部填充。我希望不是这样。

  • 我尝试设置负填充,但出现异常:

    0,-10,0,0' 不是属性“填充”的有效值。

  • 我尝试设置LineHeight 属性,但没有明显效果。

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

【问题讨论】:

  • 如果你有答案,你应该把它发布出来,答案属于问题,一旦你被允许,也要确保接受它。

标签: c# wpf xaml textblock


【解决方案1】:

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

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

【讨论】:

  • 如果也想从底部移除呢?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 作为评论可能会更好
    猜你喜欢
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多