2013-07-20 41 views
1

我想知道如何做一個帶有列表框的動畫,以便第一個項目比第二個項目先出現,然後是第三個項目,所以當下面的例子中加載列表框時。WP8如何使用Blend動畫ListBox

enter image description here

回答

4

您可以用TurnstileFeatherEffect從Windows Phone Toolkit做到這一點。這是一個complete sample page

您可以通過添加以下轉換到你的頁面

<toolkit:TransitionService.NavigationInTransition> 
    <toolkit:NavigationInTransition> 
     <toolkit:NavigationInTransition.Backward> 
      <toolkit:TurnstileFeatherTransition Mode="BackwardIn"/> 
     </toolkit:NavigationInTransition.Backward> 
     <toolkit:NavigationInTransition.Forward> 
      <toolkit:TurnstileFeatherTransition Mode="ForwardIn"/> 
     </toolkit:NavigationInTransition.Forward> 
    </toolkit:NavigationInTransition> 
</toolkit:TransitionService.NavigationInTransition> 
<toolkit:TransitionService.NavigationOutTransition> 
    <toolkit:NavigationOutTransition> 
     <toolkit:NavigationOutTransition.Backward> 
      <toolkit:TurnstileFeatherTransition Mode="BackwardOut"/> 
     </toolkit:NavigationOutTransition.Backward> 
     <toolkit:NavigationOutTransition.Forward> 
      <toolkit:TurnstileFeatherTransition Mode="ForwardOut"/> 
     </toolkit:NavigationOutTransition.Forward> 
    </toolkit:NavigationOutTransition> 
</toolkit:TransitionService.NavigationOutTransition> 

然後在命令你希望他們飛狀態做到這一點。你可以通過在您想要動畫的每個項目設置FeatheringIndex做到這一點。如果您有一個要爲項目設置動畫的ListBox,則只需在ListBox本身而不是DataTemplate上設置索引。

<ListBox toolkit:TurnstileFeatherEffect.FeatheringIndex="0"> 
</ListBox> 
+0

我也一直在尋找這個。謝謝肖恩;) –

+0

在我的頁面和我的列表框工具箱中添加了所有沒有問題:TurnstileFeatherEffect.FeatheringIndex =「0」加上沒有任何反應,只是沒有任何影響 – famadori

+2

您需要更改應用程序的RootFrame。在App.xaml.cs中,將RootFrame分配更改爲RootFrame = new TransitionFrame(); –

相關問題