如何设置文本框的宽度,具体取决于特定的格式字符串?

时间:2012-10-02 10:31:31

标签: textbox width string-formatting crop format-string

我有TextBox使用特定格式字符串来显示其内容。框的宽度设置为精确显示文本所需的空间量。为此,我使用格式化文本的宽度:

box.width = new FormattedText(
              String.Format(Format, value),
              CultureInfo.CurrentCulture,
              FlowDirection.LeftToRight,
              new Typeface("Arial"),
              8,
              Brushes.Black).Width;

执行此操作时,文本框几乎具有正确的宽度。但是我仍然需要添加12的偏移量,否则文本的区域会被某些像素裁剪掉:

enter image description here

我通过try-and-error获得了数字12。因此出现了两个问题:

  1. 为什么我需要这个偏移,丢失的宽度是否(空白和边框?)?
  2. 是否有更好的方法来获得正确的偏移而不仅仅是猜测它?

0 个答案:

没有答案