Почему цвет кнопки не меняется на MouseOver - PullRequest
0 голосов
/ 18 октября 2019

Я не понимаю, почему этот код не работает.

Цвет кнопки по-прежнему используется по умолчанию, когда я наводю на него мышь.

<Window>
    <Window.Resources>

        <Style x:Key="hover" TargetType="Button">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>

    </Window.Resources>

    <Grid>
        <Button
            Width="144"
            Height="58"
            Margin="320,177,0,0"
            HorizontalAlignment="Left"
            VerticalAlignment="Top"
            Content="Button" 
            Style="{StaticResource hover}" />
    </Grid>
</Window>

screen

1 Ответ

0 голосов
/ 18 октября 2019

необходимо изменить ControlTemplate для активации события IsMouseOver, например:

<Button Width="144" Height="58" Margin="320,177,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Content="Button" >
                <Button.Style>
                    <Style TargetType="Button">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="Button">
                                    <Border Background="{TemplateBinding Background}" BorderBrush="Black" BorderThickness="1">
                                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="Red"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </Button.Style>
            </Button>
...