5

System.Windows.Media.FormattedText用来做一些低级渲染(特别是尝试以一种令人愉悦的方式渲染数学方程)。为此,我使用的文本块的精确指标至关重要。

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

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

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

4

1 回答 1

7

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

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

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

于 2010-01-08T16:09:40.373 回答