当内容大小发生变化时,Silverlight工具包Expander不会扩展

时间:2011-04-05 04:19:33

标签: silverlight silverlight-4.0 expander

我有一个包裹网格的silverlight扩展器控件。在网格中,我有许多文本框,组合框以及一些不可见(折叠)的文本块。我也有一个动画,当它被触发时,网格显示那些隐藏的文本块。

我的问题是,当动画运行后显示隐藏的文本块时,这些文本块会向下推动其他控件,因为扩展器不会自行调整大小,所以底部的控件被推到扩展器之外并成为不可见的。

我尝试在网格的SizeChanged事件之后调用UpdateLayout()但不起作用。

非常感谢有关如何解决此问题的任何建议!!

2 个答案:

答案 0 :(得分:1)

我实际上已经自己解决了这个问题。我发现在扩展器控件的风格中,前一段时间我放置了一个ExpandableContentControl而不是普通的ContentControl,因为它在展开/碰撞时有一个很好的动画。但是这个控件没有正确调整大小...(参见http://silverlight.codeplex.com/workitem/4544?ProjectName=silverlight)我想这就是为什么AccordionItem控件如此错误,因为它还有一个ExpandableContentControl。一旦我用普通的ContentControl替换了ExpandableContentControl,扩展器就按预期工作了。 :)

答案 1 :(得分:0)

问题是因为扩展器总是使用相同的宽度(或高度),因此您必须通过代码重新计算网格的宽度并将其分配给列定义。