我有一個Accordion,其內容的高度可以動態調整大小。我希望手風琴能夠動態響應兒童項目的高度,但我很難做到這一點。動態調整打開的手風琴的大小
<lt:Accordion Name="MyAccordion"
SelectionMode="ZeroOrOne"
HorizontalAlignment="Stretch">
<lt:AccordionItem Name="MyAccordionItem"
Header="MyAccordion"
IsSelected="True"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Stretch">
<StackPanel>
<Button Content="Grow" Click="Grow"/>
<Button Content="Shrink" Click="Shrink"/>
<TextBox Name="GrowTextBox"
Text="GrowTextBox"
Height="400"
Background="Green"
SizeChanged="GrowTextBox_SizeChanged"/>
</StackPanel>
</lt:AccordionItem>
</lt:Accordion>
private void Grow(object sender, System.Windows.RoutedEventArgs e)
{
GrowTextBox.Height += 100;
}
private void Shrink(object sender, System.Windows.RoutedEventArgs e)
{
GrowTextBox.Height -= 100;
}
private void GrowTextBox_SizeChanged(object sender, System.Windows.SizeChangedEventArgs e)
{
MyAccordion.UpdateLayout();
MyAccordionItem.UpdateLayout();
}
你要知道,如果我崩潰,然後重新打開手風琴,它需要的形狀只是我想要的方式,但我想,當孩子調整大小以立即發生這種大小調整。
我無力地嘗試通過添加一個調用Accordion和AccordionItem的UpdateLayout()的SizeChanged事件處理程序來解決此問題,但這沒有任何視覺效果。我無法弄清楚在Accordion控件中適當調整大小的位置。有人有想法嗎?
嗯,這聽起來很有希望,但它似乎並沒有解決問題。我可以看到你的XAML是什麼樣的嗎? – 2010-05-14 23:04:22
我有一個datagrid內的數據網格,並在內部網格的sizechanged,我包括代碼如上。讓我試試按鈕,然後回到你身邊。 – Joshscorp 2010-05-18 00:49:29