В WPF есть FormattedText в пространстве имен System.Windows.Media MSDN FormattedText, что я могу использовать так:Программным измерения текстовой строки в пикселях для Silverlight
private static Size GetTextSize(string txt, string font, int size, bool isBold)
{
Typeface tf = new Typeface(new System.Windows.Media.FontFamily(font),
FontStyles.Normal,
(isBold) ? FontWeights.Bold : FontWeights.Normal,
FontStretches.Normal);
FormattedText ft = new FormattedText(txt, new CultureInfo("en-us"), System.Windows.FlowDirection.LeftToRight, tf, (double)size, System.Windows.Media.Brushes.Black, null, TextFormattingMode.Display);
return new Size { Width = ft.WidthIncludingTrailingWhitespace, Height = ft.Height };
}
Есть хороший подход в Silverlight к получению ширина в пикселях (на данный момент высота не важна), кроме звонка на сервер?
+1, но не забудьте сделать недействительную меру и договориться, прежде чем получить фактическую ширину. –
К сожалению, это решение имеет небольшие поля над и под фактическим текстом. –