2013-04-17 16 views
0

我用下面的代码来改变从一列的ListView位置到另一个位置:WinRT的平滑Grid.Column改变动画

<Grid.Resources> 
    <Storyboard x:Name="myStoryboard"> 
    <FadeOutThemeAnimation TargetName="detailItems" /> 
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="detailItems2" 
            Storyboard.TargetProperty="(Grid.Column)"> 
     <DiscreteObjectKeyFrame KeyTime="0" 
           Value="1" /> 
    </ObjectAnimationUsingKeyFrames> 
    </Storyboard> 
</Grid.Resources> 

这工作,但,没有动画,它只是改变了列。我希望它有一种翻译动画。

谢谢!

回答

3

这不能仅通过改变(Grid.Column)

你可以做的是动画RenderTransform属性(使用TranslateTransform作为其实例)来完成。

使用各种关键帧动画TranslateTransform,一旦完成该动画,将TranslateTransform重置为0并更改Grid.Column。

+0

嗨!谢谢您的回答。 通过这样做,我必须完全了解像素大小,当Grid.Column发生变化时,元素最终会在哪里变化,对吧? 我可能会使用stackPanel。它可能会做我想要的。 – Silva