Проблема с вашим кодом заключается в том, что вы непосредственно определяете фон границы как серый.Теперь вы меняете фон управления с помощью триггера.Однако фон, заданный триггером, еще не связан с фоном границы в вашем примере.Я добавил шаблонную привязку, которая исправляет эту проблему для вас.Теперь у границы в вашем шаблоне всегда будет фон, определенный в вашем стиле, установленный с помощью триггеров или непосредственно установленный в XAML.
ОБРАТИТЕ ВНИМАНИЕ: Если вы устанавливаете цвет в XAML с помощью <Button Background="Pink"/>
это перезапишет атрибуты стиля и триггера.
Попробуйте это произведение искусства:
<Button Content="Hello there!"
MaxWidth="180"
Margin="5"
DockPanel.Dock="Top"
Padding="5"
FontSize="12"
Foreground="#1261AC"
FontWeight="SemiBold"
BorderBrush="Transparent">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Background" Value="HotPink"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border CornerRadius="5" Background="{TemplateBinding Background}" BorderThickness="1" Padding="5">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Red" />
<Setter Property="Background" Value="Lime" />
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>