Прежде всего, извините, я очень новичок в WPF ...
У меня есть кнопка с рамкой вокруг нее. Теперь цвет нижней границы меняется на оранжевый при наведении указателя мыши на кнопку, но теперь мне нужно безуспешно изменить цвет нижней границы на зеленый при щелчке мышью (левой кнопкой мыши).
Ниже код:
<Button Height="64" Width="64" Margin="10" Click="BtnDelete" Content="Delete">
<Button.Template>
<ControlTemplate>
<Border x:Name="BtnDeleteBorder" BorderBrush="Transparent" BorderThickness="0 0 0 3">
<StackPanel>
<Image Height="36" Width="36" Stretch="UniformToFill" Source="Resources/Trash.png"/>
<Label HorizontalAlignment="Center">Delete</Label>
</StackPanel>
</Border>
<ControlTemplate.Resources>
<Storyboard x:Key="toggleBorderColor">
<ColorAnimationUsingKeyFrames Storyboard.TargetName="BtnDeleteBorder" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)">
<SplineColorKeyFrame Value="Green"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="BtnDeleteBorder" Property="BorderBrush" Value="Orange" />
</Trigger>
<EventTrigger RoutedEvent="MouseLeftButtonDown">
<BeginStoryboard Storyboard="{StaticResource toggleBorderColor}"/>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
Чтобы изменить цвет мыши над кнопкой, я использовал типичный триггер, но поскольку для левой кнопки мыши нет такого свойства триггера, которое я использовал в этом случае и триггере события. В любом случае, когда я щелкаю левой кнопкой мыши по кнопке, нижняя граница не меняет цвет на зеленый.