Thursday 23 July 2015

How do I change button default background color on mouse over event in wpf?


You need to modify control template. You can refer below example

<Style TargetType="{x:Type Button}">           
            <Setter Property="Background" Value="{StaticResource blackButtonSOWBrush}"/>
            <Setter Property="Foreground" Value="White"/>           
            <Setter Property="Width" Value="100"/>
            <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="False">
                    <Setter Property="Background" Value="{StaticResource blackButtonSOWBrush}"/>
                    <Setter Property="Foreground" Value="White"/>
                    <Setter Property="Opacity" Value="1"></Setter>
                </Trigger>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="{StaticResource blackButtonSOWBrush}"/>
                    <Setter Property="Opacity" Value="0.8"></Setter>
                    <Setter Property="Foreground" Value="Blue"></Setter>
                </Trigger>
              
            </Style.Triggers>

        </Style>

No comments:

Post a Comment