测量标签的文本长度

时间:2011-04-07 01:21:49

标签: wpf label font-family

我正在尝试根据可用空间动态缩短标签。我使用FormattedText来确定候选字符串的长度

formattedText = new FormattedText(candidateString, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeface, FontSize = fontSize, Brushes.Black);

我应该能够从包含文本的Label中检索字体;但是我一直遇到障碍:

  • 标签包含FontFamily但不包含字体。
  • 我无法从FontFamily创建新的字体,因为我无法获得单个FontFamily名称 Typeface t = new Typeface(theLabel.FontFamily.FamilyNames.?, theLabel.FontStyle, theLabel.FontSize, theLabel.FontStretch);

这似乎应该很简单:我想要在THAT标签中使用的字体(指向屏幕)。如何创建一个字体用于测量我的字符串长度?有没有更简单的方法来实现这一目标?我在这里缺少什么?

感谢。

1 个答案:

答案 0 :(得分:1)

这不起作用?

Typeface t = new Typeface(theLabel.FontFamily,theLabel.FontStyle,theLabel.FontWeight,theLabel.FontStretch, new FontFamily("Arial"));

或者您可以尝试

theLabel.FontFamily.GetTypefaces();