2013-07-20 1 views
1

Интересно, как сделать анимацию со списком так, чтобы первый элемент появился первым, а затем третьим, и поэтому, когда список загружается, как в примере ниже.WP8 Как оживить ListBox с Blend

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

Mee тоже искал это. Спасибо Shawn;) –

+0

Добавил все без проблем на мою страницу и в свой список инструментов: TurnstileFeatherEffect.FeatheringIndex = "0" плюс ничего не происходит, просто без эффекта – famadori

+2

Вам нужно изменить RootFrame приложения. В App.xaml.cs изменить назначение RootFrame на RootFrame = new TransitionFrame(); –