2009-06-15 9 views
1

Donc comme un exemple simple, si vous avez un ItemsControl comme celui ci-dessous qui crée dynamiquement son contenu Comment pourrais-je ajouter des déclencheurs pour que chaque élément s'anime et a un BeginTime basé sur son index dans le liste.Animer séquentiellement des éléments dans un ItemsControl

J'ai essayé d'étendre le bouton de manière à ce qu'il contienne un délai avant de lier le BeginTime de l'animation contenue dans les triggers des boutons ControlTemplate, car il y a des problèmes de freezable.

Comment puis-je créer un Storyboard, soit sur le ItemsControl lui-même ou les éléments individuels, qui montre chacun des éléments un par un.

Des idées?

point de départ pour mon balisage:

<Window.Resources> 
    <ResourceDictionary > 
     <Collections:ArrayList x:Key="ItemsList"> 
      <System:String>OPTIONS</System:String> 
      <System:String>STICKERS</System:String> 
      <System:String>STYLING</System:String> 
      <System:String>WHEELS</System:String> 
      <System:String>INTERIOR</System:String> 
      <System:String>ROOF</System:String> 
      <System:String>COLOURS</System:String> 
      <System:String>VERSION</System:String> 
     </Collections:ArrayList> 
    </ResourceDictionary> 
</Window.Resources> 

<Grid> 
    <ListView ItemsSource="{StaticResource ItemsList}"> 
     <ListView.Style> 
      <Style> 
       <Setter Property="ListView.ItemTemplate"> 
        <Setter.Value> 
         <DataTemplate> 
          <Button Content="{Binding}" /> 
         </DataTemplate> 
        </Setter.Value> 
       </Setter> 
      </Style> 
     </ListView.Style> 
    </ListView> 
</Grid> 

Vive J

Répondre

1

Il n'y a probablement pas une façon de le faire à travers XAML. Plutôt, remplissez votre ListView dans votre code-behind C#, et créez vos Storyboards et Triggers dans le code. Une idée serait d'étendre Button pour avoir un champ "Next Button To Show", de jouer votre storyboard pour votre animation, puis de déclencher le bouton suivant pour faire la même chose, jusqu'à ce que vous atteigniez le dernier bouton où "NextButton == null"

+0

ouais. J'ai quelque chose comme ça mais je n'aime pas le fait que l'animation ne peut pas être changée et maintenue via une ressource. –

Questions connexes