change content button with trigger

5.8k views Asked by At

I want change the content of the button to another image when it is pressed but nothing happens.

<Grid>
    <Button Height="120" Width="75">
        <Button.Template>
            <ControlTemplate TargetType="Button">
                <Image Source="no-press.png"/>
                <ControlTemplate.Triggers>
                        <Trigger Property="IsPressed" Value="True">
                            <Setter Property="Content">
                                <Setter.Value>
                                    <DataTemplate>
                                        <Image Source="press.png"/>
                                    </DataTemplate>
                                </Setter.Value>
                            </Setter>
                        </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Button.Template>      
    </Button>        
</Grid>

thank you :)

1

There are 1 answers

0
d.moncada On BEST ANSWER

Here you go:

<Grid>
    <Button Height="120" Width="75">
        <Button.Style>
            <Style TargetType="Button">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Border Background="Transparent" BorderThickness="1" BorderBrush="Black">
                                <ContentPresenter Name="content"/>
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="Button.IsPressed" Value="True">
                                    <Setter TargetName="content" Property="ContentPresenter.Content">
                                        <Setter.Value>
                                            <Image Source="pressed.png"/>
                                        </Setter.Value>
                                    </Setter>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </Button.Style>
        <Image Source="no-pressed.png"/>
    </Button>
</Grid>