如何在WPF中计算字体高度?

Tim*_*oyd 23 wpf fonts font-size

有关FontFamily如何以特定方式以编程方式检索/计算该字体的最大高度范围FontSize

我需要一个值来设置一个文本块的高度,该文本块将显示指定的字体FontSize- 这必须以编程方式执行.

我需要一个考虑上升器和下降器等的值.

更新

为了澄清,我需要整个高度范围FontFamily,而不是该字体中某些示例文本的高度.我不知道文本会提前发生什么.

Tim*_*oyd 34

可以使用其LineSpacing属性计算字体的最大高度范围,该属性是字体的比例数字.这可以用于给出行高,该行高可以容纳特定大小的该字体的所有字形.

    FontFamily fontFamily = new FontFamily("Segoe UI");
    double fontDpiSize = 16;

    double fontHeight = Math.Ceiling(fontDpiSize * fontFamily.LineSpacing);
Run Code Online (Sandbox Code Playgroud)

结果:

   22.0
Run Code Online (Sandbox Code Playgroud)

该图将包含少量的前导,当需要文本行的高度时(因此来自相邻文本行的上升和下行具有间距)是合乎需要的.

在此输入图像描述