如何计算Silverlight中自动展开文本框的正确高度?

问题描述:

在我的Silverlight应用程序中,我希望多行文本框可以在用户每次输入时展开。如何计算Silverlight中自动展开文本框的正确高度?

困难的部分是如何根据文本行数计算正确的高度。

我曾尝试以下,但文本框变得太小:

box.Height = box.FontSize*lineCount + box.Padding.Top + box.Padding.Bottom + box.BorderThickness.Top + box.BorderThickness.Bottom; 

缺少什么我在这里?或者也许它可以以某种方式自动完成?

感谢, 雅各

编辑:我怀疑问题是在字号属性(是否使用其他尺寸单元?)

这似乎是文本框是如何工作了的框。只要确保在文本框上设置了AcceptsReturn =“True”即可。另外请确保您没有设置文本框的高度,以便它为您计算。

TextBox将触发一个SizeChanged事件,它也将设置ActualHeight属性。

我不认为这是在Silverlight 2中,当我不得不使用TextBlock用相同的字体,填充设置为4,并设置相同的文字,并获得ActualHeight关闭的情况下。