Cambio de fondo de WPF de Border OnMouseDown
storyboard eventtrigger (1)
No veo ningún error obvio y el proyecto de muestra que creé usando el código que publicó funciona bien. Tal vez puedas usarlo para encontrar la fuente de tu problema
<Window.Resources>
<Storyboard x:Key="OnMouseDown">
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[0].Color"
To="Red" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[1].Color"
To="Red" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[2].Color"
To="Red" />
</Storyboard>
</Window.Resources>
<Grid>
<Border Name="border">
<Border.Background>
<LinearGradientBrush>
<GradientStop Color="Red" Offset="0"/>
<GradientStop Color="Green" Offset="0.5"/>
<GradientStop Color="Blue" Offset="1.0"/>
</LinearGradientBrush>
</Border.Background>
<Border.Triggers>
<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown"
SourceName="border">
<BeginStoryboard x:Name="MouseDown_BeginStoryboard"
Storyboard="{StaticResource OnMouseDown}"/>
</EventTrigger>
</Border.Triggers>
</Border>
</Grid>
Actualizar
Intenté agregar un evento MouseLeave también y sigue funcionando.
Actualización 2
MouseEnter agregado
<Window.Resources>
<Storyboard x:Key="OnMouseDown">
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[0].Color"
To="Red" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[1].Color"
To="Red" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[2].Color"
To="Red" />
</Storyboard>
<Storyboard x:Key="OnMouseLeave">
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[0].Color"
To="Blue" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[1].Color"
To="Blue" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[2].Color"
To="Blue" />
</Storyboard>
<Storyboard x:Key="OnMouseEnter">
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[0].Color"
To="Green" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[1].Color"
To="Green" />
<ColorAnimation Duration="0:0:0.15"
Storyboard.TargetName="border"
Storyboard.TargetProperty="Background.GradientStops[2].Color"
To="Green" />
</Storyboard>
</Window.Resources>
<Grid>
<Border Name="border">
<Border.Background>
<LinearGradientBrush>
<GradientStop Color="Red" Offset="0"/>
<GradientStop Color="Green" Offset="0.5"/>
<GradientStop Color="Blue" Offset="1.0"/>
</LinearGradientBrush>
</Border.Background>
<Border.Triggers>
<EventTrigger RoutedEvent="PreviewMouseLeftButtonDown" SourceName="border">
<BeginStoryboard x:Name="MouseDown_BeginStoryboard" Storyboard="{StaticResource OnMouseDown}"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave" SourceName="border">
<BeginStoryboard x:Name="MouseLeave_BeginStoryboard" Storyboard="{StaticResource OnMouseLeave}"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseEnter" SourceName="border">
<BeginStoryboard x:Name="MouseEnter_BeginStoryboard" Storyboard="{StaticResource OnMouseEnter}"/>
</EventTrigger>
</Border.Triggers>
</Border>
</Grid>
Estoy tratando de cambiar el fondo de un borde en el botón izquierdo del mouse hacia abajo. Botón No lo entiendo Por supuesto, mi gradiente tiene 3 paradas.
Eventtrigger:
<EventTrigger RoutedEvent="UIElement.PreviewMouseLeftButtonDown" SourceName="border">
<BeginStoryboard x:Name="MouseDown_BeginStoryboard" Storyboard="{StaticResource OnMouseDown}"/>
</EventTrigger>
StoryBoard:
<Storyboard x:Key="OnMouseDown">
<ColorAnimation Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="Background.GradientStops[0].Color" To="Red" />
<ColorAnimation Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="Background.GradientStops[1].Color" To="Red" />
<ColorAnimation Duration="0:0:0.15" Storyboard.TargetName="border" Storyboard.TargetProperty="Background.GradientStops[2].Color" To="Red" />
</Storyboard>
Si alguien ve el error, por favor dímelo;)