This is my style:

```
   <UserControl.Resources>
    <Style TargetType="Button" x:Key="Style2" BasedOn="{StaticResource MetroCircleButtonStyle}">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Foreground" Value="#000000"/>
                <Setter Property="Background" Value="#ededed"/>
            </Trigger>
            <Trigger Property="IsPressed" Value="True">
                <Setter Property="Foreground" Value="#ffffff"/>
                <Setter Property="Background" Value="#009688"/>
            </Trigger>
            <Trigger Property="IsEnabled" Value="false">
                <Setter Property="Foreground" Value="#FF808080"/>
            </Trigger>

        </Style.Triggers>
    </Style>
</UserControl.Resources>

```

And I used it like this:

```
<Button x:Name="button" Content="abcdefg" Style="{DynamicResource Style2}" Width="45" Height="45" VerticalAlignment="Top" BorderThickness="0"  FontSize="18"  FontFamily="/WpfApplication2;component/Resources/#Vazir"/>

```

This works perfectly OK. The problem is when I try to change the background of the button either by changing the XAML or dynamically changing the background. When I do so, the mouse over effect doesn't work anymore.

```
<Button x:Name="button" Content="abcdefg" Background="White" Style="{DynamicResource Style2}" Width="45" Height="45" VerticalAlignment="Top" BorderThickness="0"  FontSize="18"  FontFamily="/WpfApplication2;component/Resources/#Vazir"/>

```

Or

```
button.Background = Brushes.Transparent;

```

The MouseOver effect doesn't work when I set the background, but I need to set the background. What is wrong?