鼠标结束时更改button的颜色

当IsMouseOver == True时,我想改变一个button的背景颜色

<Button Command="{Binding ClickRectangleColorCommand}" Background="{Binding Color ,Converter={StaticResource RGBCtoBrushColorsConverter},Mode=TwoWay}" Width="auto" Height="40"> <TextBlock Foreground="Black" Text="{Binding Color, Converter={StaticResource RGBCColorToTextConveter},Mode=TwoWay}"/> <Button.Style> <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="DarkGoldenrod"/> </Trigger> </Style.Triggers> </Style> </Button.Style> </Button> 

我似乎无法理解为什么这个触发器不工作。

试试这个 – 在这个例子中,原始颜色是绿色,鼠标hover的颜色是DarkGoldenrod

 <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="50" Height="50" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" Foreground="{x:Null}" Margin="50,0,0,0"> <Button.Style> <Style TargetType="{x:Type Button}"> <Setter Property="Background" Value="Green"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border Background="{TemplateBinding Background}"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> </ControlTemplate> </Setter.Value> </Setter> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="DarkGoldenrod"/> </Trigger> </Style.Triggers> </Style> </Button.Style> </Button> 
 <Button Background="#FF4148" BorderThickness="0" BorderBrush="Transparent"><Border HorizontalAlignment="Right" BorderBrush="#FF6A6A" BorderThickness="0> <Border.Style> <Style TargetType="Border"> <Style.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="#FF6A6A" /> </Trigger> </Style.Triggers> </Style> </Border.Style> <StackPanel Orientation="Horizontal"> <Image RenderOptions.BitmapScalingMode="HighQuality" Source="//ImageName.png" /> </StackPanel> </Border> </Button>