代码之家  ›  专栏  ›  技术社区  ›  Tarydon

FormattedText Width属性不考虑尾随空格

  •  2
  • Tarydon  · 技术社区  · 16 年前

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

    我正在创建几个 FormattedText 对象,并在渲染的最低级别使用这些对象。问题是,如果其中任何一个包含尾随空间,则在计算 FormattedText.Width

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

    w1和w2原来是一样的。前导空间 测量正确。我该如何强制 格式化文本

    1 回复  |  直到 15 年前
        1
  •  7
  •   Adam Gritt    16 年前

    从使用 Width 属性来使用 WidthIncludingTrailingWhitespace 财产。

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

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