【发布时间】:2013-07-27 08:32:35
【问题描述】:
我想为网格行高度变化设置动画,但是如何使用动态“星形”高度值来实现呢?
我有以下网格:
<Grid x:Name="baseGrid">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Grid x:Name="grid0" Grid.Row="0" Tap="grid0_Tap">
// Content
</Grid>
<Grid x:Name="grid1" Grid.Row="1" Tap="grid1_Tap">
// Content
</Grid>
<Grid x:Name="grid2" Grid.Row="2">
// Content
</Grid>
</Grid>
在后面的代码中,我的逻辑是如果用户单击 grid0,grid2 会被隐藏。再次,如果用户单击 grid1,grid2 将恢复其大小。
private void grid0_Tap(object sender, RoutedEventArgs e)
{
this.LayoutRoot.RowDefinitions[2].Height = new GridLength(0);
}
private void grid1_Tap(object sender, RoutedEventArgs e)
{
this.LayoutRoot.RowDefinitions[2].Height = new GridLength(3, GridUnitType.Star);
}
现在效果很好,但是如何制作动画呢?我认为 Storyboard 需要它的 from/to 值,并且由于我使用动态尺寸,我不能使用 Storyboard?
【问题讨论】:
-
问题不清楚。 “grid3 被隐藏”,但您的 XAML 中没有定义“grid3”。
-
抱歉,混淆了网格名称。固定...
标签: windows-phone-8 grid storyboard animated