<Grid>
        <Canvas x:Name="LayoutRoot">
            <Image Cursor="Hand" MouseLeftButtonDown="imgLogo1_MouseLeftButtonDown" MouseEnter="imgLogo1_MouseEnter"
                   MouseLeave="imgLogo1_MouseLeave" Canvas.ZIndex="1" x:Name="imgLogo1" Canvas.Left="100"
                   Canvas.Top="60" Height="100" Source="Image/Picture.jpg">
                <Image.RenderTransform>
                    <ScaleTransform x:Name="LogoScale" CenterX="90" CenterY="96">
 
                    </ScaleTransform>
                </Image.RenderTransform>
            </Image>
        </Canvas>
    </Grid>

  

public partial class Window8 : Window
   {
       public Window8()
       {
           InitializeComponent();
           timer = new System.Windows.Threading.DispatcherTimer();
           timer.Interval = TimeSpan.FromMilliseconds(50);
           timer.Tick += new EventHandler(timer_Tick);
       }
 
       private System.Windows.Threading.DispatcherTimer timer;
       private ScaleDirection scaleDirection ;
       
 
       void timer_Tick(object sender, EventArgs e)
       {
           AdjustScale(scaleDirection, LogoScale);
       }
 
       void AdjustScale(ScaleDirection scaleDirection, ScaleTransform scale)
       {
           if (scaleDirection == ScaleDirection.Down)
           {
               if (scale.ScaleX < 1.3)
               {
                   scale.ScaleX += 0.05; scale.ScaleY += 0.05;
               }
               else
                   timer.Stop();
           }
           else
           {
               if (scale.ScaleX > 1.0)
               {
                   scale.ScaleX -= 0.05;
                   scale.ScaleY -= 0.05;
               }
               else
                   timer.Stop();
           }
       }
 
       enum ScaleDirection
       {
           Up,
           Down
       }
 
       private void imgLogo1_MouseEnter(object sender, MouseEventArgs e)
       {
           scaleDirection = ScaleDirection.Down;
           timer.Start();
       }
 
       private void imgLogo1_MouseLeave(object sender, MouseEventArgs e)
       {
           scaleDirection = ScaleDirection.Up;
           timer.Start();
       }
 
       private void imgLogo1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
       {
           MessageBox.Show("test");
       }
   }

WPF 鼠标移动到图片变大,移开还原,单击触发事件效果的更多相关文章

  1. CSS3实现鼠标移动到图片上图片变大

    CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义 <!DOCTYPE html><html> <head&g ...

  2. 点击图片或者鼠标放上hover .图片变大. 1)可以使用css中的transition, transform 2) 预先设置一个 弹出div. 3)弹出层 alert ; 4) 浏览器的宽度document.documentElement.clientWidth || document.body.clientWidth

    变大: 方法一: 利用css属性. 鼠标放上 hover放大几倍. .kecheng_02_cell_content img { /*width: 100px; height: 133px;*/ wi ...

  3. 黑马day18 鼠标事件&amp;图片变大

    有时候我们在淘宝网或者京东商城上浏览要购买的商品的时候当把鼠标移动到图图片上的时候会发现图片放大.然后鼠标移动,图片也会跟着移动,接下来我就使用jquery来实现这样的效果: 这是图片文件夹: < ...

  4. CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)

    转载自:http://blog.csdn.net/u014175572/article/details/51535768 CSS3的transform:scale()可以实现按比例放大或者缩小功能. ...

  5. CSS3动画@keyframes图片变大变小颜色变化

    在我做公司官网的时候也会帮着写一些游戏的静态页,今天产品要求为了突出一个按钮,他要有颜色的变化而且要变大变小,然后我就在网上搜了下呼吸灯和其他的案例,写了个小damo,看着还有些魔性嘞. html: ...

  6. css3实现逐渐变大的圆填充div背景的效果

    手机端现在的一些应用会运用上这样一个效果,就是duang的一下出现一个圆变大直到填充整个div,动感十足. 想到css3的scale属性,就自己来实现一下. <div id="bcd& ...

  7. 鼠标悬浮在img上让图片变大

    样式: <style type="text/css">        img:hover{ transform:scale(1.02,1.02)}</style& ...

  8. JS实现鼠标移上去图片停止滚动移开恢复滚动效果

    这是在做个人站的时候展示项目成果,因为不光需要展示,还需要介绍详细内容,就在滚动展示的地方做了这个效果以便于点开想要看的项目. 首先,要做的是一个需要滚动的区域.我前边写过一个关于图片循环滚动的示例, ...

  9. android 双击图片变大,缩放功能

    package com.example.administrator.myapplicationphotochange; /** * Created by Administrator on 2016/8 ...

随机推荐

  1. Java学习--方法

    Java学习 方法 方法 定义 Java方法是语句的集合,一起执行一个功能. 方法是解决一类问题的步骤的有序组合. 方法包含在类或对象中. 方法在程序中被创建,在其他地方被引用. 设计方法的时候,最好 ...

  2. thinkphp 5 及一下或php项目里实现模糊查询

    想在thinkPHP或者PHP项目实现模糊查询怎么实现呢? 今天在网上搜了一下用 mysql里的 like 就可以实现 怎么用呢? 看代码: 错误用法: where('title','like',$s ...

  3. 动态规划——leetcode5、最长回文子串

    1.题目描述: 2.解题方法:动态规划 动态规划解题步骤: 1.确定状态 最后一步:如果s[i,...,j]是回文子串,那么需要满足两个条件 ① s[i] == s[j]: ② s[i+1,...,j ...

  4. 【HTML】学习路径5-预格式标签和字体标签

    <!DOCTYPE html> <html> <head> <title>我是标题</title> <meta charset=&qu ...

  5. 【PostgreSQL】PostgreSQL 15移除了Stats Collector

    试用即将发行的PostgreSQL 15的人会发现少了一个后台进程:​ postgres 1710 1 0 04:03 ? 00:00:00 /usr/pgsql-15/bin/postmaster ...

  6. Android序列化的几种实现方式

    一.Serializable序列化 Serializable是java提供的一种序列化方式,其使用方式非常简单,只需要实现Serializable接口就可以实现序列化. public interfac ...

  7. 第七十三篇:解决Vue组件中的样式冲突

    好家伙, 1.组件之间的样式冲突 默认情况下,写在.vue组件中的样式会全局生效,因此很容易造成多个组件之间的样式冲突问题. 举个例子: 我们在Left.vue的组件中添加样式 <templat ...

  8. KFS Oracle RAC 数据解析同步配置方法

    一.logminer方式解析 1.数据库配置 - Oracle 1. 数据库中需要先设置 NSL_DATE_FORMAT,命令如下,设置好以后需要重启数据库: ALTER SYSTEM SET NLS ...

  9. 【android逆向】 ARM for 逆向

    C源码 #include <stdio.h> int nums[5] = {1, 2, 3, 4, 5}; int for1(int n){ //普通for循环 int i = 0; in ...

  10. Windows Server Backup保留副本数量的问题

    在配置Windows Server Backup的时候可以配置备份时间点和备份存放位置,但是无法配置保留备份的数量.作为微软提供的一个基本的备份工具,做简单的备份还是可以的.但是对于同一备份任务,反复 ...