我用故事板动画
创建了这个Locator用户控件<Path Stroke="#AAC2DC" StrokeThickness="1">
<Path.Data>
<GeometryGroup>
<EllipseGeometry x:Name="ellipse" RadiusX="5" RadiusY="5" />
</GeometryGroup>
</Path.Data>
<Path.Triggers>
<EventTrigger RoutedEvent="Path.Loaded">
<BeginStoryboard>
<Storyboard AutoReverse="False" RepeatBehavior="Forever">
<ParallelTimeline Storyboard.TargetName="ellipse">
<DoubleAnimation To="60" Storyboard.TargetProperty="RadiusX" />
<DoubleAnimation To="60" Storyboard.TargetProperty="RadiusY" />
</ParallelTimeline>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Path.Triggers>
</Path>
并将其动态添加到应用的网格中。
var margin = new Thickness();
margin.Left = control.Margin.Left + control.ActualWidth / 2;
margin.Top = control.Margin.Top + control.ActualHeight / 2;
var locator = new Locator { Margin = margin };
block.Grid.Children.Add(locator);
一段时间后动画开始滞后,我不知道, 你能猜到为什么吗?
我准备了一个gif动画 animation