Creates WPF animations using Storyboard, Timeline, and EasingFunction patterns. Use when implementing UI transitions, state change visualizations, or interactive feedback effects.
View on GitHubchristian289/dotnet-with-claudecode
wpf-dev-pack
January 23, 2026
Select agents to install to:
npx add-skill https://github.com/christian289/dotnet-with-claudecode/blob/main/wpf-dev-pack/skills/creating-wpf-animations/SKILL.md -a claude-code --skill creating-wpf-animationsInstallation paths:
.claude/skills/creating-wpf-animations/# WPF Animation Patterns
WPF animations create visual effects by changing property values over time.
## 1. Animation Components
```
Storyboard (container)
├── Timeline (time control)
│ ├── Animation (value change)
│ │ ├── DoubleAnimation
│ │ ├── ColorAnimation
│ │ └── ...
│ └── AnimationUsingKeyFrames (keyframes)
│ ├── DoubleAnimationUsingKeyFrames
│ └── ...
└── EasingFunction (acceleration/deceleration)
```
---
## 2. Basic Animation (XAML)
### 2.1 DoubleAnimation
```xml
<Button Content="Hover Me" Width="100">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<!-- Width animation -->
<DoubleAnimation
Storyboard.TargetProperty="Width"
To="150"
Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Width"
To="100"
Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
```
### 2.2 ColorAnimation
```xml
<Border x:Name="AnimatedBorder" Background="Blue" Width="100" Height="100">
<Border.Triggers>
<EventTrigger RoutedEvent="MouseEnter">