3

我正在尝试 Blend 4 beta,并寻找一种方法来做一件简单的事情:

  • 当鼠标悬停在图像上时,图像应将其源更改为不同的图像。发生这种MouseLeave情况时,图像会变回。

知道我可以在源代码中做到这一点,但我正在寻找一种无需手动编码 xaml 的无代码方式。

Blend 4 似乎是完美的选择。但是我尝试使用启动故事的事件触发器或使用视觉状态来设置它,但 Blend 似乎没有“记住”图像源已更改。它记得我更改了图像的其他属性(例如可见性、比例等),但图像源是我所追求的。

这是混合中的错误,还是我做错了什么?

4

2 回答 2

2

一种选择是创建自定义操作并将其附加到图像。它仍然涉及代码,但有点混合。

public class ImageSwitchAction : TriggerAction<Image>   
{
    public ImageSource TargetImage { get; set; }
    protected override void Invoke(object o)
    {
        AssociatedObject.Source = TargetImage;
    }
}

将类添加到项目并构建后,您可以将新行为拖到时间轴中的任何图像对象上,并在动作属性中配置触发器和 ImageSource。在您的情况下,为 MouseEnter 添加一项操作,为 MouseLeave 添加一项操作。

于 2010-04-28T17:14:55.317 回答
-2

简单的方法:

首先,订阅你的图像鼠标进入和鼠标离开的事件,然后在这个事件中

使用 image.setsource(new Uri(new image url)) 设置每个事件的图像源

如果你有麻烦,我可以稍后在这里发布真实代码

问候瑞

于 2010-04-28T15:24:16.997 回答