我有一个包裹网格的silverlight扩展器控件。在网格中,我有许多文本框,组合框以及一些不可见(折叠)的文本块。我也有一个动画,当它被触发时,网格显示那些隐藏的文本块。
我的问题是,当动画运行后显示隐藏的文本块时,这些文本块会向下推动其他控件,因为扩展器不会自行调整大小,所以底部的控件被推到扩展器之外并成为不可见的。
我尝试在网格的SizeChanged事件之后调用UpdateLayout()但不起作用。
非常感谢有关如何解决此问题的任何建议!!
答案 0 :(得分:1)
我实际上已经自己解决了这个问题。我发现在扩展器控件的风格中,前一段时间我放置了一个ExpandableContentControl而不是普通的ContentControl,因为它在展开/碰撞时有一个很好的动画。但是这个控件没有正确调整大小...(参见http://silverlight.codeplex.com/workitem/4544?ProjectName=silverlight)我想这就是为什么AccordionItem控件如此错误,因为它还有一个ExpandableContentControl。一旦我用普通的ContentControl替换了ExpandableContentControl,扩展器就按预期工作了。 :)
答案 1 :(得分:0)
问题是因为扩展器总是使用相同的宽度(或高度),因此您必须通过代码重新计算网格的宽度并将其分配给列定义。