35

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

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

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

3 回答 3

84

您需要在 IsMouseOver 属性上使用 Trigger 来修改 Image 的 Source:

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

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

于 2009-10-01T09:53:19.533 回答
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>

还有其他触发方式。好的?

于 2009-10-01T09:57:09.980 回答
0

12年后更新答案

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

于 2021-11-24T20:50:08.283 回答