【问题标题】:Button/Image Switch resource using click, MouseEnter and MouseLeave使用 click、MouseEnter 和 MouseLeave 的按钮/图像切换资源
【发布时间】:2019-02-09 08:35:18
【问题描述】:

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

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

主要问题是我不知道如何在代码隐藏中更改图像资源以更改控件的源。

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

更新1:

好的,我用 Binding 试过了 现在我认为它已经解决了,但我还有另一个问题。 我不知道如何删除那个“边框”。我试着把按钮的borderbrush属性设置为0,但是好像是另一个属性或者另一个控件。

UI

谢谢。

【问题讨论】:

  • 请提供代码示例。

标签: wpf image button resources mouseenter


【解决方案1】:

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

附言。如果您想更改某些事件上的控件行为,例如按下鼠标左键,您必须使用

覆盖 事件触发器
<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>

【讨论】:

  • 如果这对您有帮助,请务必支持我的答案并将其标记为正确。谢谢
猜你喜欢
  • 2010-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多