2013-04-17 26 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