我试图在窗口上移动一个可观察的矩形集合。我的目标是为此使用一个简单的动画。我不知道在给定实例中可能有多少个矩形,所以我将它们放在项目控件中。此操作的目标是同时对item控件中的所有矩形进行动画处理。当矩形到达动画的结尾时,它将被“销毁”。我在底部的“ Player”矩形具有正确的动画效果,因为它只是我需要跟踪的单个项目。动画发生在后面的代码中。有人知道制作集合中所有项目动画的好方法吗?
<ItemsControl x:Name="Barriers" ItemsSource="{Binding Barriers}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle x:Name="Rectangle" Fill="Green" Width="{Binding width}" Height="{Binding height}">
<Rectangle.RenderTransform>
<TranslateTransform X="{Binding xPosition}" Y="{Binding yPosition}"/>
</Rectangle.RenderTransform>
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<DockPanel Margin="20">
<Button Click="Button_Click" Width="100">Quit Game</Button>
<Button x:Name="JumpButton" Click="jump">Jump</Button>
<Button x:Name="DuckButton" Click="duck">duck</Button>
<Button Width="100" Margin="20,0,0,0" Click="Button_Click_1">Home Screen</Button>
</DockPanel>
<Rectangle x:Name="Player" Fill="Red" Height="20" Width="20" Canvas.Bottom="{Binding JumpHeight, UpdateSourceTrigger=PropertyChanged}" Canvas.Left="20"/>
</Canvas>