1
我創建了一個簡單的動畫來顯示我的網格,當點擊一個按鈕 這個想法是使用窗口大小的實際高度,並使動畫從0到實際高度 但由於用戶然後將調整大小窗口,我想將高度從實際高度改回自動 但是,grid1的高度無法修改(不僅僅是auto,即使像600這樣的確切值也不起作用)動畫完成後,任何人都知道爲什麼?謝謝WPF網格高度的動畫
XAML
<Grid Name="grid_Main">
<Grid Background="Aqua" Height="0" HorizontalAlignment="Left" Margin="68,39,0,10" Name="grid1" VerticalAlignment="Top" Width="361" >
<ScrollViewer>
<Border Height="200" />
</ScrollViewer>
</Grid>
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="214,258,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
</Grid>
CS
private void button1_Click(object sender, RoutedEventArgs e)
{
double actualHeight = grid_Main.ActualHeight;//grid_Main.RowDefinitions[1].ActualHeight;
DoubleAnimation animation = new DoubleAnimation(0, actualHeight, TimeSpan.FromSeconds(1));
animation.Completed += new EventHandler(animation_Completed);
grid1.BeginAnimation(Rectangle.HeightProperty, animation);
}
void animation_Completed(object sender, EventArgs e)
{
grid1.Height = Double.NaN;
grid1.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
grid1.Width = 200;
}
這真的有幫助!謝謝 – swivan