Kia*_*eng 6 .net windows silverlight wpf
目前,如果我有一个<TextBlock>字体大小为200的元素,整个元素占用的空间比需要的多得多.

蓝色轮廓(来自Blend)显示元素占用的空间,当需要的时候很容易就会有一半.无论如何,我可以消除那个空间,使我的元素没有这么多间隔?我已经尝试过边距,填充等,但大多数方法似乎都不起作用.

理想情况下,我希望<textblock>仅占用红色框表示的空间量
编辑:

为了回应stijn7,确实为其他字母(g,p,q等)保留了一些空间.但是顶部仍然有很多空间(1是Segoe UI中最高的字符).如果无法剪切文本块,无论如何我是否可以调整它以使其没有浪费的空间?
这里的问题是,TextBlock 的高度包含上升部分和下降部分,以便呈现具有一定高度范围的字符。您选择的字符恰好跨越字体x-height,但不会超出。为了达到您想要的效果,您需要一个级别稍低的文本渲染 API,我建议尝试FormattedText类:
提供在 Windows Presentation Foundation (WPF) 应用程序中绘制文本的低级控制。
此类有一个MaxTextHeight属性。我还没有尝试过,但它有可能为您提供所需的信息。