たまにはこんな記事も。
 Windows Formでは表示文字幅の取得を行うのにGraphics.MeasureStringを利用して文字幅の取得が行っていたのですが、WPFではGraphicsが取得できないのでこの方法が利用できません。
 もちろん、相互運用のシナリオを利用すればなんとかできなくもないですが、あまりスマートな方法じゃないかなぁ・・・と思っていたらSystem.Windows.Mediaにちょうどいい感じのものがありました。
 というワケで、それを利用し、MeasureStringもどきを作成してみました。
 こんな感じですね。   
    1:  private Size MeasureString(string text, double fontSize, string typeFace)
   2:  {   3:      var ft = new FormattedText(text, CultureInfo.CurrentCulture, 
   4:          FlowDirection.LeftToRight,
   5:          new Typeface(typeFace),
   6:          fontSize,
   7:          Brushes.White);
   8:   
   9:      return new Size(ft.Width, ft.Height);
  10:  }
もちろん、System.Globalizationなどもusingしておく必要はありますが、とりあえず、これでなんとかなったのでメモ(^^;