0

有没有办法在 WinRT 中制作 GridLength 动画(在 RowDefinition.Heigt 上)?

在此先感谢 NeoKript

4

2 回答 2

2

不,您可能不应该为一行的大小设置动画,因为它是一个依赖动画。如果您确实需要这样做 - 设置该行中内容的RowDefinition.HeighttoAuto并为其设置动画Height

于 2013-02-08T19:23:15.393 回答
0

我不确定我是否完全同意上述关于如何为行大小设置动画的断言,在某些情况下您可能希望完全折叠行/列(即快照视图)。

您可以使用以下情节提要轻松地为高度/宽度设置动画。

<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>
于 2014-02-22T12:42:55.767 回答