有没有办法在 WinRT 中制作 GridLength 动画(在 RowDefinition.Heigt 上)?
在此先感谢 NeoKript
不,您可能不应该为一行的大小设置动画,因为它是一个依赖动画。如果您确实需要这样做 - 设置该行中内容的RowDefinition.Height
toAuto
并为其设置动画Height
。
我不确定我是否完全同意上述关于如何为行大小设置动画的断言,在某些情况下您可能希望完全折叠行/列(即快照视图)。
您可以使用以下情节提要轻松地为高度/宽度设置动画。
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" x:Name="LeftSpacerColumn" />
<ColumnDefinition Width="*" x:Name="QuoteColumn" />
<ColumnDefinition Width="75" x:Name="MiddleSpacerColumn" />
<ColumnDefinition Width="450" x:Name="ButtonSpacerColumn" />
<ColumnDefinition Width="100" x:Name="RightSpacerColumn"/>
</Grid.ColumnDefinitions>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(Grid.Width)" Storyboard.TargetName="LeftSpacerColumn">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<GridLength>0</GridLength>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>