2011-04-05 22 views
1

我有一個包裹網格的silverlight擴展器控件。在網格中,我有一些文本框,組合框以及一些不可見(摺疊)的文本塊。我也有一個動畫,當它被觸發時,網格會顯示那些隱藏的文本塊。Silverlight工具包當內容大小發生變化時,擴展器不會展開

我的問題是,當動畫運行後顯示隱藏文本塊時,這些文本塊將其他控件向下推,並且由於擴展器本身沒有調整大小,底部的控件被推到擴展器的外部,變得無形。

我試圖在網格的SizeChanged事件後調用UpdateLayout(),但不起作用。

有關如何解決此問題的任何建議將不勝感激!

+0

什麼是行高(*,auto,xxx px)? – 2011-04-05 05:43:35

+0

它是自動的。網格的高度和寬度都是自動的。網格中的行全部設置爲自動。高度基於控件的高度 – 2011-04-05 05:52:43

回答

1

我其實已經自己解決了這個問題。我在擴展器控件的風格中發現,前一段時間,我放置了一個ExpandableContentControl而不是普通的ContentControl,因爲它展開/ collpase時具有很好的動畫效果。但是這個控件並沒有正確調整大小......(參見http://silverlight.codeplex.com/workitem/4544?ProjectName=silverlight)我想這就是爲什麼AccordionItem控件太麻煩了,因爲它也有一個ExpandableContentControl。只要我用正常的ContentControl替換ExpandableContentControl,擴展器就按預期工作。 :)

0

問題是因爲擴展器總是使用相同的寬度(或高度),因此您必須通過代碼重新計算網格的寬度並將其分配給columndefinition。

+0

對不起,但這不是真正的問題。我已經給出瞭如下答案。 :) – 2011-04-11 23:42:09

相關問題