<ItemsControl ItemsSource="{Binding Bubbles}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <Canvas IsItemsHost="True" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemContainerStyle> <Style> <Setter Property="Canvas.Left" Value="{Binding X}" /> <Setter Property="Canvas.Top" Value="{Binding Y}" /> </Style> </ItemsControl.ItemContainerStyle> <ItemsControl.ItemTemplate> <DataTemplate> <Ellipse Width="10" Height="10" Fill="#FF616AB6" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl>
<Ellipse.Resources> <Storyboard x:Key="yanimation"> <DoubleAnimation Storyboard.Target="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContentPresenter}}" Storyboard.TargetProperty="(Canvas.Top)" Duration="0:0:1" To="{Binding Y}" /> </Storyboard> <Storyboard x:Key="xanimation"> <DoubleAnimation Storyboard.Target="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ContentPresenter}}" Storyboard.TargetProperty="(Canvas.Left)" Duration="0:0:1" To="{Binding X}" /> </Storyboard> </Ellipse.Resources>
<Ellipse.Triggers> <EventTrigger RoutedEvent="Ellipse.Loaded"> <BeginStoryboard Storyboard="{StaticResource xanimation}" /> </EventTrigger> <EventTrigger RoutedEvent="Ellipse.Loaded"> <BeginStoryboard Storyboard="{StaticResource yanimation}" /> </EventTrigger> </Ellipse.Triggers>
<Ellipse.Triggers> <EventTrigger RoutedEvent="Binding.TargetUpdated"> <BeginStoryboard Storyboard="{StaticResource xanimation}" /> </EventTrigger> <EventTrigger RoutedEvent="Binding.TargetUpdated"> <BeginStoryboard Storyboard="{StaticResource yanimation}" /> </EventTrigger> </Ellipse.Triggers>
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
<i:Interaction.Triggers> <ei:PropertyChangedTrigger Binding="{Binding X}"> <ei:ControlStoryboardAction Storyboard="{StaticResource xanimation}" /> </ei:PropertyChangedTrigger> <ei:PropertyChangedTrigger Binding="{Binding Y}"> <ei:ControlStoryboardAction Storyboard="{StaticResource yanimation}" /> </ei:PropertyChangedTrigger> </i:Interaction.Triggers>
Source: https://habr.com/ru/post/336692/
All Articles