page
page

Reputation: 21

Change background on mouse over for default button

In WPF application I want to change the BackGround of my Button on MouseOver. The triggers IsDefault and IsMouseOver are already adjusted. Is it possible to define separate trigger that reacts on both of IsDefault and IsMouseOver triggers.

<ControlTemplate.Triggers>
    <Trigger Property="IsDefault" Value="True">
        <Setter Property="Background" Value="#1BA1E2" />
    </Trigger>
    <Trigger Property="IsMouseOver" Value="True">
        <Setter Property="Background" Value="#9A9EA1" />
    </Trigger>
    <Trigger ??? Property="IsDefault" Value="True" && Property="IsMouseOver" Value="True" />
        <Setter Property="Background" Value="#9A9E88"/>    
    </Trigger>
</ControlTemplate.Triggers>

Upvotes: 1

Views: 476

Answers (1)

Salah Akbari
Salah Akbari

Reputation: 39976

You can use MultiTrigger , Example of Multi Trigger in WPF. Like this:

<Window.Resources>
    <Style x:Key="Multi" TargetType="{x:Type Button}" >
        <Style.Triggers>
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsDefault" Value="True"></Condition>
                    <Condition Property="IsMouseOver" Value="True"></Condition>
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="Background" Value="White" ></Setter>
                </MultiTrigger.Setters>
            </MultiTrigger>
        </Style.Triggers>
    </Style>
 </Window.Resources>
 <Grid>
    <Button Style="{StaticResource Multi}"></Button>
 </Grid>

Upvotes: 1

Related Questions