在我的Silverlight应用程序中,我希望每次用户点击Enter时都会展开多行文本框。
困难的部分是如何根据文本行数计算正确的高度。
我尝试过以下操作但文本框太小了:
box.Height = box.FontSize*lineCount + box.Padding.Top + box.Padding.Bottom + box.BorderThickness.Top + box.BorderThickness.Bottom;
我在这里缺少什么?或者它可以以某种方式自动完成?
谢谢, 雅各布
编辑:我怀疑问题出现在FontSize属性中(是否使用其他尺寸单位?)
答案 0 :(得分:3)
这似乎是文本框开箱即用的方式。只需确保在文本框中设置AcceptsReturn =“True”即可。另外,请确保不设置文本框的高度,以便为您计算。
答案 1 :(得分:0)
TextBox
将触发SizeChanged
事件,并且还会设置ActualHeight
属性。
我不认为在Silverlight 2中就是这种情况,当我不得不使用具有相同字体的TextBlock
,将填充设置为4,并设置相同的文本,并得到{{1关闭那个。