按钮/图像切换资源使用click,MouseEnter和MouseLeave

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按钮/图像切换资源使用click,MouseEnter和MouseLeave相关的知识,希望对你有一定的参考价值。

我正在尝试使用Click,MouseEnter和MouseLeave等事件更改图像。首先,我尝试使用按钮进行“点击”事件,但我不知道如何删除默认情况下出现的浅蓝色背景,当我将鼠标放在具有png背景的按钮上时。

在此之后,我尝试使用,在其Source中设置resource image.png。

主要问题是我不知道在代码隐藏中要做什么来在Image Resources之间进行更改以便更改控件的Source。

如果我可以使用带控件的“Click事件”,我也想知道

UPDATE1:

好吧,我通过使用绑定尝试了它现在我认为它解决了,但我有另一个问题。我不知道如何删除那个“边界”。我试图将按钮的borderbrush属性设置为0,但它似乎是另一个属性或另一个控件。

UI

谢谢。

答案

您可以将图像作为按钮的内容,并将Click事件添加到该按钮。这样,当您按下按钮时会调用一个事件。

        <Button Margin="0,10" Name="mainButton" Click="mainButton_Click">
            <Button.Content>
                <Image Source="C:/reference-to-image" Height="30"/>
            </Button.Content>
        </Button>

在后台,您可以更改图片。

这个问题说明了如何在后台执行此操作。

WPF Image UriSource and Data Binding using http:\ URL

PS。如果要更改某些事件的控件行为,例如在其上按下鼠标左键,则必须使用覆盖事件触发器

<Style TargetType="TextBlock">
                <Style.Triggers>
                    <EventTrigger RoutedEvent="MouseEnter">
                        <EventTrigger.Actions>
                          ...

希望这可以帮助。

UPDATE

您可以将BorderThickness设置为0,然后将Padding属性的值设置为0. Button Control具有预定义的填充值,使其看起来像是有边框。填充是控件内部的空间和内容,例如按钮和图片之间的空间

<StackPanel Orientation="Horizontal">
        <Button Click="Button_Click"  Padding="0" BorderThickness="0">
            <Image Source="link-to-pic" Height="100"/>
        </Button>
        <Button Click="Button_Click"   Padding="0"  BorderThickness="0">
            <Image Source="link-to-pic" Height="100"/>
        </Button>
</StackPanel>

以上是关于按钮/图像切换资源使用click,MouseEnter和MouseLeave的主要内容,如果未能解决你的问题,请参考以下文章

mouseent和mouseover的区别

每日分享!JavaScript的鼠标事件(11个事件)

轮播图

轮播图

从c ++ CLR / CLI项目的资源文件加载图像

两个按钮可在两个功能和一个功能之间切换