Hi!
Seems it is exactly what you need
<Button Content="Load" Width="100" Height="30" Click="Button_Click">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<Border Background="{TemplateBinding Background}">
<ContentControl Content="{TemplateBinding Content}"
VerticalAlignment="Center"
HorizontalAlignment="Center"/>
</Border>
</Grid>
</ControlTemplate>
</Button.Template>
<Button.Triggers>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard Duration="0:0:3">
<ColorAnimation Storyboard.TargetName="stop1" Storyboard.TargetProperty="Color" To="LightGray"/>
<ColorAnimation Storyboard.TargetName="stop2" Storyboard.TargetProperty="Color" To="LightGray"/>
<ColorAnimation Storyboard.TargetName="stop3" Storyboard.TargetProperty="Color" To="LightGray"/>
<ColorAnimation Storyboard.TargetName="stop4" Storyboard.TargetProperty="Color" To="LightGray"/>
<ColorAnimation Storyboard.TargetName="stop5" Storyboard.TargetProperty="Color" To="LightGray"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard Duration="0:0:3">
<ColorAnimation Storyboard.TargetName="stop1" Storyboard.TargetProperty="Color" To="LightBlue"/>
<ColorAnimation Storyboard.TargetName="stop2" Storyboard.TargetProperty="Color" To="DarkBlue"/>
<ColorAnimation Storyboard.TargetName="stop3" Storyboard.TargetProperty="Color" To="LightBlue"/>
<ColorAnimation Storyboard.TargetName="stop4" Storyboard.TargetProperty="Color" To="DarkBlue"/>
<ColorAnimation Storyboard.TargetName="stop5" Storyboard.TargetProperty="Color" To="LightBlue"/>
</Storyboard>
</BeginStoryboard>
<BeginStoryboard>
<Storyboard Duration="0:0:3" RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetName="stop1" Storyboard.TargetProperty="Offset" To="0"
From="-1" RepeatBehavior="Forever"/>
<DoubleAnimation Storyboard.TargetName="stop2" Storyboard.TargetProperty="Offset" To="0.5"
From="-0.5" RepeatBehavior="Forever"/>
<DoubleAnimation Storyboard.TargetName="stop3" Storyboard.TargetProperty="Offset" To="1"
From="0" RepeatBehavior="Forever"/>
<DoubleAnimation Storyboard.TargetName="stop4" Storyboard.TargetProperty="Offset" To="1.5"
From="0.5" RepeatBehavior="Forever"/>
<DoubleAnimation Storyboard.TargetName="stop5" Storyboard.TargetProperty="Offset" To="2"
From="1" RepeatBehavior="Forever"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
<Button.Background>
<LinearGradientBrush>
<GradientStop Offset="-1" x:Name="stop1" Color="LightGray"/>
<GradientStop Offset="-0.5" x:Name="stop2" Color="LightGray"/>
<GradientStop Offset="0" x:Name="stop3" Color="LightGray"/>
<GradientStop Offset="0.5" x:Name="stop4" Color="LightGray"/>
<GradientStop Offset="1" x:Name="stop5" Color="LightGray"/>
</LinearGradientBrush>
</Button.Background>
</Button>