FormattedText Width属性不考虑尾随空格

时间:2010-01-08 15:55:32

标签: c# wpf text formatting formatted-text

我正在使用System.Windows.Media.FormattedText进行一些低级渲染(具体来说,尝试以印刷方式呈现数学方程式)。为此,我正在使用的文本块的精确度量是至关重要的。

我正在创建几个FormattedText个对象,并在最低渲染级别使用它们。问题是如果其中任何一个包含尾随空格,则在计算FormattedText.Width属性时不考虑该空间。例如,如果我写:

double w1 = new FormattedText ("Hello", ...).Width;
double w2 = new FormattedText ("Hello    ", ...).Width;

w1和w2结果是一样的。前导空格 正确测量。如何强制FormattedText来测量这些尾随空格?

1 个答案:

答案 0 :(得分:4)

从使用Width属性更改为使用WidthIncludingTrailingWhitespace属性。

double w1 = new FormattedText ("Hello", ...).WidthIncludingTrailingWhitespace;
double w2 = new FormattedText ("Hello    ", ...).WidthIncludingTrailingWhitespace;

使用此代码,您应该看到两个不同的宽度值。