使用click,MouseEnter和MouseLeave

时间:2018-09-04 10:24:01

标签: wpf image button resources mouseenter

我正在尝试使用Click,MouseEnter和MouseLeave等事件来更改图像。首先,我也尝试使用Buttons来实现“ Click”事件,但是我不知道如何删除将鼠标放在具有png背景的按钮上时默认出现的浅蓝色背景。 / p>

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

主要问题是我不知道要在代码背后进行什么操作才能在图像资源之间进行更改以更改控件的来源。

我也想知道我是否可以将“点击事件”与控件一起使用

Update1:​​

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

UI

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将图像作为按钮的内容,并将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>
                          ...

希望这会有所帮助。

更新

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

<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>