Animating Gradient Offset
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Animation"> <Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <Button Padding="30"> OK <Button.Background> <LinearGradientBrush> <GradientStop Color="Blue" Offset="0"/> <GradientStop Color="Red" Offset="1"/> </LinearGradientBrush> </Button.Background> <Button.Triggers> <EventTrigger RoutedEvent="Button.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard TargetProperty="Background.GradientStops[1].Offset"> <DoubleAnimation From="0" To="1" Duration="0:0:2" AutoReverse="True" RepeatBehavior="Forever"/> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Button.Triggers> </Button> </Canvas> </Window>