2010-12-13 12 views
6

Ich habe eine ListBox in meiner Anwendung, die TextBlock s enthält einige Daten angezeigt. Die TextBlock s sind so eingerichtet, dass ein Ereignis ausgelöst wird, wenn der Benutzer darauf klickt.Windows Phone 7 ListBox Animation auf Auswahl

<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> 

Dies funktioniert wie ich es will, aber es wäre toll, wenn ich irgendeine Art von Animation bieten könnte, wenn der Benutzer auf ein Element klickt. Wenn Sie beispielsweise einen Kontakt aus dem Adressbuch des Telefons auswählen und auf eine der Aktionen klicken (z. B. "E-Mail senden" oder "Mobil anrufen"), wird der Text kurz verschoben, bevor die ausgewählte Aktion ausgeführt wird. Gibt es eine Möglichkeit, dies zu tun?

Antwort

5
  1. Erstellen Sie ein Storyboard mit Mischung, um das Textfeld zu verschieben.

  2. Starten Sie das Storyboard über den Click-Ereignishandler.

  3. Führen Sie Ihre Aktion in der Storyboard beendet Veranstaltung.

+0

Danke, Ihre Antwort brachte mich in die richtige Richtung. Das Silverlight-Toolkit für WP7 (http://silverlight.codeplex.com/) enthält "TransitioningContentControl", das Storyboards vereinfacht. – Praetorian