如何在鼠标悬停时更改按钮的背景

塔里克·贾菲(Tariq Al-Jafi)

在下面的代码中,我要在鼠标悬停时将蓝色图像背景按钮更改为绿色图像按钮。

我的XAML代码在下面,但是将鼠标悬停在按钮上没有任何反应。NextButton.png是原始按钮,nextGreen.png应该是鼠标悬停时的背景。

问题出在哪儿 ?

<Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
        Content=""
        HorizontalAlignment="Right"
        Margin="0,0,0.2,0"
        VerticalAlignment="Bottom"
        Width="50"
        Height="100"
        Grid.Column="1"
        Click="Next_Click">
    <Button.Background>
        <ImageBrush ImageSource="NextButton.png" />
    </Button.Background>
    <Button.Template>
        <ControlTemplate>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver"
                         Value="True">
                    <Setter Property="Background">
                        <Setter.Value>
                            <ImageBrush ImageSource="nextGreen.png" />
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </ControlTemplate.Triggers>
            <StackPanel>
                <StackPanel.Background>
                    <ImageBrush ImageSource="Nextbutton.png"/>
                </StackPanel.Background>
            </StackPanel>
        </ControlTemplate>
    </Button.Template>
</Button>
埃文布

您设置了按钮的背景,但随后覆盖了按钮,Template因此Button.Background永不显示。您应该删除,Button.Background然后在StackPanel命名Template以便您可以更改中的背景Trigger

 <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Content="" HorizontalAlignment="Right" Margin="0,0,0.2,0" VerticalAlignment="Bottom" Width="50" Height="100" Grid.Column="1" Click="Next_Click">
   <Button.Template>
        <ControlTemplate>
            <ControlTemplate.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" TargetName="root">
                        <Setter.Value>
                            <ImageBrush ImageSource="nextGreen.png" />
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </ControlTemplate.Triggers>
            <StackPanel x:Name="root">
                <StackPanel.Background>
                    <ImageBrush ImageSource="Nextbutton.png"/>
                </StackPanel.Background>
            </StackPanel>
        </ControlTemplate>
    </Button.Template>
</Button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

鼠标悬停时更改背景颜色

在C#中将鼠标悬停时如何更改标签全长的背景颜色

Highcharts-如何在鼠标悬停/悬停时禁用颜色更改

在UWP中将鼠标悬停时如何更改按钮的背景?

鼠标悬停时WPF按钮背景的透明度

鼠标悬停时更改按钮的背景

将鼠标悬停在同一div中存在的按钮上时,如何更改div背景颜色?

如何在鼠标悬停时显示按钮?

在鼠标悬停时在React中更改背景视频

鼠标悬停时如何在WPF中更改背景前景和边框颜色

当使用CSS将鼠标悬停在按钮上时,如何更改网站的背景图片?

通过jQuery在鼠标悬停时更改按钮文本

CSS更改图像背景鼠标悬停时的背景

在鼠标悬停时更改兄弟姐妹背景

如何在将鼠标悬停在背景黑色上时将文本从黑色更改为白色?

WPF如何在鼠标悬停在按钮上时更改背景图像

银光; 鼠标悬停时更改网格的背景

如何在鼠标悬停时更改图像?

鼠标悬停时更改按钮的css

鼠标悬停时更改按钮的内容

如何在鼠标悬停时更改图像?

鼠标悬停时无法更改背景颜色

在拖放操作期间更改鼠标悬停时的按钮图像

通过 jQuery 更改鼠标悬停时的动态按钮文本

当使用 css 将鼠标悬停在按钮上时,如何更改按钮的文本?

UWP 如何在鼠标悬停时更改路径的填充

如何在鼠标悬停时更改 TabControl 关闭按钮图像?

将鼠标悬停在每个字母上时如何更改字体系列 + 背景

鼠标悬停时如何更改图像按钮的颜色?