// 无效的写法,图片不会被切换

 <Image Margin="0,0,0,0"   Width="50" Height="50" Source="1.png"   >
<Image.Resources>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="2.png"/>
</Trigger>
</Style.Triggers>
</Style>
</Image.Resources>
</Image>
//解决方案:

        <Image Margin="0,0,0,0"   Width="50" Height="50">
<Image.Resources>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="1.png"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Source" Value="2.png"/>
</Trigger>
</Style.Triggers>
</Style>
</Image.Resources>
</Image>
<Window.Resources>
<local:SwitchSourceConverter x:Key="SwitchSourceConverter" />
</Window.Resources> <Image>
<Image.Resources>
<Style TargetType="{x:Type Image}">
<Setter Property="Source" Value="1.png" />
<Setter Property="Width" Value="100" />
<Setter Property="Height" Value="150" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Width" Value="170" />
<Setter Property="Height" Value="200" />
<Setter Property="Source" Value="{Binding Converter={StaticResource SwitchSourceConverter}}" />
</Trigger>
</Style.Triggers>
</Style>
</Image.Resources>
</Image>
  public class SwitchSourceConverter : IValueConverter
{ public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//注意 图片不存在或者出错,会造成不停闪烁,因为鼠标一直在图片上,图片则不停的进行更改Source
var path = "3.png";
var uri = new Uri(path, UriKind.RelativeOrAbsolute);
//返回以下几种方式都可以
//return new BitmapImage(uri);
return path;
return uri;
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(path, UriKind.RelativeOrAbsolute);
image.EndInit();
return image;
} public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

WPF 鼠标在图片Image上悬停时切换更改设置图片源Source的更多相关文章

  1. Winform中使用FastReport的PictureObject时通过代码设置图片源并使Image图片旋转90度

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  2. 大图片上传(ImageIO,注意有的图片不能上传时因为他是tiff格式)

    一下是必要的: 1.enctype="multipart/form-data" 2. //不要使用myeclipse自动生成的get.set方法(struts2中的用法) publ ...

  3. 图片base64上传时可能遇到的问题

    base64上传图片时服务器接到的值可能会丢失字符串 解决方法如下:(分为单个上传和多个上传) <?php $BASE_DIR = "../"; //文件上传 $img = ...

  4. js特效:鼠标滑过图片时切换为动图

    效果展示 事前准备 一张普通的静态图+与其对应的gif图. 实现思路 获取图片的src,改变其后缀,使其变成与之对应的gif图片.(很简单有木有= =) 具体实现 编写html代码 <div c ...

  5. VC++ 在控件上写字时 字体的设置技巧

    //人物照片下方的文字 CFont* nFont = &afxGlobalData.fontRegular; CFont* oFont = pDc->SelectObject(nFont ...

  6. 利用javaScript实现鼠标在文字上悬浮时弹出悬浮层

    在人人,CSDN等一些网站,当鼠标在某个东西上悬浮时,会弹出一个悬浮层,鼠标移开悬浮层消失.比如说CSDN的通知(应该是进入写新文章的页面后页面上方的那个铃铛),具体是什么实现的呢?上代码: < ...

  7. WPF中当鼠标移到按钮上时,按钮的背景图片消失的问题

    如果给按钮设置了背景图片,当鼠标移到按钮上的时候,按钮就好变成一个浅蓝色的按钮,背景图片就消失了,对于这个问题有很多解决方法,我只分享一下我的解决方法. 我第一次用的方式是在按钮中添加一个图片,不用背 ...

  8. jQuery的鼠标悬停时放大图片的效果

    这是一个基于jQuery的效果,当鼠标在小图片上悬停时,会弹出一个大图,该大图会跟随鼠标的移动而移动.这个效果最初源于小敏同志的一个想法,刚开始做的时候只能实现弹出的图片是固定的,不能随鼠标移动,最后 ...

  9. 基于jQuery的鼠标悬停时放大图片的效果制作

    这是一个基于jQuery的效果,当鼠标在小图片上悬停时,会弹出一个大图,该大图会跟随鼠标的移动而移动.这个效果最初源于小敏同志的一个想法,刚开始做的时候只能实现弹出的图片是固定的,不能随鼠标移动,最后 ...

随机推荐

  1. 【机器学习实战】第8章 预测数值型数据:回归(Regression)

    第8章 预测数值型数据:回归 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/ ...

  2. erlang数字转字符串

    http://fengmm521.blog.163.com/blog/static/2509135820147922355273/ 如果有一个数字,你想要转换成字符串这个在Erlang中是怎么操作的, ...

  3. Expression Blend 的点滴(3)--Templating的妙用,制作自己的ScrollBar控件

    原文:Expression Blend 的点滴(3)--Templating的妙用,制作自己的ScrollBar控件 在Blend中,有一个功能,Make into control---通过它可以方便 ...

  4. 学maven

    跟着刚哥深入学maven   前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下. 一.为什么使用Maven这样的构建工具[why] ① 一个项目就是 ...

  5. 项目启动部署时报错:java.lang.NoSuchMethodError

    报错: ================================================================================================ ...

  6. dropzone上传文件

    先上张效果图吧 1.引入dropzone的js和css文件 2.html这里我用了一个form,当然你也可以直接用一个div,无论你用什么都要加上class="dropzone" ...

  7. 经典卷积神经网络的学习(二)—— VGGNet

    1. 简介 VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发的深度卷积神经网络,其主要探索了卷积神经网络的深度 ...

  8. 如何将字段中带逗号的SQLite数据库数据导入到MySQL

    以前在数据库导入中没有遇到过什么问题,如下这样导入 load data local infile 'D:\data.csv' into table table1 fields terminated b ...

  9. HDU 1671 (字典树统计是否有前缀)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Problem Description Given a list of phone number ...

  10. DELPHI +ClientDataSet+DBGRIDEH 进行排序

    DELPHI +ClientDataSet+DBGRIDEH  进行排序因为使用了DBX+ClientDataSet,所以排序显得简单些,只需要设定几个属性就OK了.1.DbGridEH 中设定:Op ...