如何在WPF中悬停时更改图像?

时间:2009-10-01 09:33:14

标签: wpf image hover

当我将鼠标悬停在图像上时,如何更改图像?

到目前为止,我所拥有的只是:

<Image Height="32" Source="/images/Save32.png" />

2 个答案:

答案 0 :(得分:74)

您需要在IsMouseOver属性上使用Trigger来修改图像的来源:

<Image>
  <Image.Style>
    <Style TargetType="{x:Type Image}">
      <Setter Property="Source" Value="C:\Image1.jpg"/>
      <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
          <Setter Property="Source" Value="C:\Image2.jpg"/>
        </Trigger>
      </Style.Triggers>
    </Style>
  </Image.Style>
</Image>

请注意,触发器只能在样式中使用,并且为了使触发器更改属性,该属性的值必须由样式设置,而不是在元素上显式设置。

答案 1 :(得分:8)

<Image Stretch="Fill" >
        <Image.Style>
            <Style>
                <Setter Property="Image.Source" Value="original.png" />
                <Style.Triggers>
                    <Trigger  Property="Image.IsMouseOver" Value="True">
                        <Setter Property="Image.Source" Value="mouseover.png" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
</Image>

还有其他触发方法。好吗?