В моем приложении для Windows Phone 7.1 я пытаюсь дать своему пользователю некоторую обратную связь, когда он поворачивает ее.Я делаю это, обрабатывая событие касания StackPanel и создавая StoryBoard и т. Д. Оттуда.См. Мой код:
private void StackPanelTap(object sender, System.Windows.Input.GestureEventArgs e)
{
var stackPanel = ((StackPanel) sender);
var renderTransform = new RotateTransform {Angle = 0,CenterX = 22.5,CenterY = 22.5};
stackPanel.RenderTransform = renderTransform;
TimeSpan duration = TimeSpan.FromSeconds(0.30);
var angleAnimation = new DoubleAnimation { From = 0, To = 360, Duration = duration, AutoReverse = false };
Storyboard.SetTargetProperty(angleAnimation,new PropertyPath("Angle"));
Storyboard.SetTarget(angleAnimation,renderTransform);
var storyboard = new Storyboard();
storyboard.Children.Add(angleAnimation);
storyboard.Begin();
}
Эта StackPanel на самом деле находится внутри ItemsControl как DataTemplate (поэтому у меня есть много этих StackPanel на экране).Вот xaml
<Controls:CustomItemsControl ItemsSource="{Binding Fingers}" Height="2000" Width="330" >
<Controls:CustomItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas>
</Canvas>
</ItemsPanelTemplate>
</Controls:CustomItemsControl.ItemsPanel>
<Controls:CustomItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Canvas.Top="{Binding Top}" Canvas.Left="{Binding Left}" Tap="StackPanelTap" Tag="{Binding NoteName}">
<Image Source="{Binding Image}"/>
<TextBlock Text="{Binding Text}" Margin="10,-45" Foreground="Black" FontSize="32"/>
</StackPanel>
</DataTemplate>
</Controls:CustomItemsControl.ItemTemplate>
</Controls:CustomItemsControl>
Анимация работает отлично, но только по одному .Я хотел бы иметь несколько анимаций одновременно, если мой пользователь касается нескольких панелей StackPanels.Возможно ли это с раскадровками и т. Д.?