【问题标题】:How do I change an image on hover over in WPF?如何在 WPF 中悬停时更改图像?
【发布时间】:2010-12-02 22:34:29
【问题描述】:

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

到目前为止,我只有:

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

【问题讨论】:

    标签: wpf image hover


    【解决方案1】:

    您需要在 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>
    

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

    【讨论】:

    • 请注意,触发器只能在样式内部使用,并且为了让触发器更改属性,该属性的值必须由样式设置,而不是在元素上显式设置。 - 这只是让我有一些问题非常清楚谢谢!
    【解决方案2】:
    <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>
    

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

    【讨论】:

      【解决方案3】:

      12 年后更新答案

      &lt;Image Height="32" Source="/images/Save32.png" Cursor="Hand" /&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-04
        • 2012-03-13
        • 1970-01-01
        • 2018-07-20
        相关资源
        最近更新 更多