Use ColorAnimationUsingKeyFrames to animate GradientStop
<Window x:Class="KeyFrameAnimation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Key-Frame Animation" Height="200" Width="300">
<StackPanel Margin="15">
<TextBlock Name="label" Block.TextAlignment="Center" Foreground="Blue" />
<Rectangle Name="rect" Width="200" Height="100" Stroke="Blue" Margin="10">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Offset="0" />
<GradientStop Offset="1" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<StackPanel.Triggers>
<EventTrigger RoutedEvent="StackPanel.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ColorAnimationUsingKeyFrames
Storyboard.TargetName="rect"
Storyboard.TargetProperty="Fill.GradientStops[0].Color"
RepeatBehavior="Forever">
<LinearColorKeyFrame Value="#FF00FF" KeyTime="0:0:0" />
<LinearColorKeyFrame Value="#00805A" KeyTime="0:0:5" />
<LinearColorKeyFrame Value="#FF0000" KeyTime="0:0:10" />
<LinearColorKeyFrame Value="#0000FF" KeyTime="0:0:15" />
<LinearColorKeyFrame Value="#00FFFF" KeyTime="0:0:20" />
<LinearColorKeyFrame Value="#FF00FF" KeyTime="0:0:25" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</StackPanel.Triggers>
</StackPanel>
</Window>
Related examples in the same category