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

Eli*_*yal 33 wpf image hover

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

到目前为止我只有:

<Image Height="32" Source="/images/Save32.png" />
Run Code Online (Sandbox Code Playgroud)

Phi*_*ney 76

您需要在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>
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,触发器只能在样式中使用,并且为了使触发器更改属性,该属性的值必须由样式设置,而不是在元素上显式设置. - 这只是我遇到了一些问题,我非常感谢! (3认同)

小智 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>
Run Code Online (Sandbox Code Playgroud)

还有其他触发方式.行?