请帮我写一个WPF 圆圈圆点动画 xaml
时间: 2023-10-09 14:14:18 浏览: 83
深入浅出WPF编程,供WPF初学者学习
以下是一个简单的 WPF 圆圈圆点动画 XAML 示例:
```xml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<Storyboard x:Key="CircleAnimation">
<DoubleAnimation Storyboard.TargetName="circle"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
From="0" To="1" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True" />
<DoubleAnimation Storyboard.TargetName="circle"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
From="0" To="1" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True" />
</Storyboard>
<Storyboard x:Key="DotAnimation" BeginTime="0:0:0.25">
<DoubleAnimation Storyboard.TargetName="dot"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
From="0" To="1" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True" />
<DoubleAnimation Storyboard.TargetName="dot"
Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
From="0" To="1" Duration="0:0:0.5" RepeatBehavior="Forever" AutoReverse="True" />
</Storyboard>
</Window.Resources>
<Grid>
<Ellipse x:Name="circle" Fill="Red" Width="100" Height="100" Stroke="Black" StrokeThickness="2">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0"/>
</TransformGroup>
</Ellipse.RenderTransform>
</Ellipse>
<Ellipse x:Name="dot" Fill="White" Width="20" Height="20" Stroke="Black" StrokeThickness="2" Margin="40">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="0" ScaleY="0"/>
</TransformGroup>
</Ellipse.RenderTransform>
</Ellipse>
</Grid>
</Window>
```
在此示例中,我们使用两个椭圆元素来表示圆圈和圆点。我们使用 RenderTransform 属性来为这些元素添加缩放转换。我们还定义了两个动画,一个用于圆圈,另一个用于圆点。每个动画使用 DoubleAnimation 类来处理缩放转换的 ScaleX 和 ScaleY 属性。我们使用 Storyboard 类来组合这些动画并将其应用于元素。
在此示例中,圆圈动画和圆点动画都使用自动反转来产生往返效果。我们还可以使用其他属性来控制动画的重复行为,如 BeginTime,Duration 和 RepeatBehavior。
阅读全文