2010-12-13 6 views
6

J'ai un ListBox dans mon application qui contient TextBlock s affichant des données. Les TextBlock sont configurés pour déclencher un événement lorsque l'utilisateur clique dessus.Téléphone Windows 7 Animation ListBox sur la sélection

<ListBox x:Name="ListBoxCategories" 
     Margin="0,0,-12,0" 
     ItemsSource="{Binding ListBoxItems}"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Margin="0,0,0,17" 
        Width="432"> 
     <TextBlock Text="{Binding ItemName}" 
        TextWrapping="Wrap" 
        MouseLeftButtonDown="TextBlock_MouseLeftButtonDown" 
        Style="{StaticResource PhoneTextLargeStyle}" 
        Foreground="{StaticResource PhoneAccentBrush}" /> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

Cela fonctionne comme je le veux, mais ce serait bien si je pouvais fournir une sorte d'animation lorsque l'utilisateur clique sur un élément. Par exemple, lorsque vous sélectionnez un contact dans le carnet d'adresses du téléphone et cliquez sur l'une des actions (par exemple "envoyer un e-mail" ou "appeler un mobile"), le texte se déplace brièvement avant que l'action sélectionnée ne soit effectuée. Y a-t-il une manière de faire ça?

Répondre

5
  1. Créer un story board avec blend pour déplacer la zone de texte.

  2. Démarrez le story board à partir du gestionnaire d'événements click. Effectuez votre action dans l'événement terminé du story-board.

+0

Merci, votre réponse m'a permis de regarder dans la bonne direction. La boîte à outils Silverlight pour WP7 (http://silverlight.codeplex.com/) inclut 'TransitioningContentControl' qui simplifie les storyboards. – Praetorian

Questions connexes