WPF 鼠标移动到图片变大,移开还原,单击触发事件效果

简介:
<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" );
        }
    }

原文:http://www.csharpwin.com/dotnetspace/10339r6936.shtml

 

编辑器加载中...



本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2011/08/23/2150559.html,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
C# 微服务 Windows
模块化革命:揭秘WPF与微服务架构的完美融合——从单一职责原则到事件聚合器模式,构建高度解耦与可扩展的应用程序
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中借鉴微服务架构思想,实现模块化设计。通过将WPF应用分解为独立的功能模块,并利用事件聚合器实现模块间解耦通信,可以有效提升开发效率和系统可维护性。文中还提供了具体示例代码,展示了如何使用事件聚合器进行模块间通信,以及如何利用依赖注入进一步提高模块解耦程度。此方法不仅有助于简化复杂度,还能使应用更加灵活易扩展。
112 0
C#WPF 图片在显示时没有问题,但在运行时图片显示不出来的解决
选中项目,点击右上角的显示全部文件按钮,会将默认隐藏的文件显示出来,选中所需图片,右键,添加到项目,然后选择图片查看属性,生成操作选择resource。完毕。本人目前的解决方案。
498 41
C#WPF 图片在显示时没有问题,但在运行时图片显示不出来的解决
|
前端开发 C# Windows
WPF鼠标、键盘、拖拽事件、用行为封装事件
本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。
362 0
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
如何解决WPF中 ScrollViewer 内包含 TreeView 或者 ListBox 等控件时滚轮事件被劫持的问题
|
Java C# 程序员
WPF程序中的弱事件模式
原文:WPF程序中的弱事件模式 在C#中,得益于强大的GC机制,使得我们开发程序变得非常简单,很多时候我们只需要管使用,而并不需要关心什么时候释放资源。但是,GC有的时并不是按照我们所期望的方式工作。 例如,我想实现一个在窗口的标题栏中实时显示当前的时间,一个比较常规的做法如下:     var...
1159 0
|
C# 编译器 数据格式
WPF备忘录(7)WPF图片资源路径介绍
原文:WPF备忘录(7)WPF图片资源路径介绍 在项目中增加两张图片Content.jpg和Resource.jpg,分别将其生成操作属性设置为Content和Resource。     在界面中增加两个Image控件ImgContent和ImgResource,在XAML中分别设置Source路径为Content.jpg和Resource.jpg。
958 0
|
C# Windows
WPF备忘录(2)WPF获取和设置鼠标位置与progressbar的使用方法
原文:WPF备忘录(2)WPF获取和设置鼠标位置与progressbar的使用方法 一、WPF 中获取和设置鼠标位置   方法一:WPF方法   Point p = Mouse.GetPosition(e.
1056 0
|
C# 数据安全/隐私保护
用WPF写一个登录界面,我想在输入完密码后按回车就能够验证登陆,而不需要用鼠标单击登陆按钮
原文:用WPF写一个登录界面,我想在输入完密码后按回车就能够验证登陆,而不需要用鼠标单击登陆按钮 在wpf中,将按钮的IsDefault设置为true ​​​​
1209 0
|
C#
在WPF中将图片转换成3D图像并可以旋转
原文:在WPF中将图片转换成3D图像并可以旋转 时光偷走的,永远都是我们眼皮底下看不见的珍贵。   https://pan.baidu.com/s/14dk-OU2SR0nxXj2bL4bVpQ 首先先看一下源代码最初的运行效果,是否是自己需要的。
1539 0
|
C#
WPF 获得鼠标相对于屏幕的位置,相对于控件的位置
原文:WPF 获得鼠标相对于屏幕的位置,相对于控件的位置 相对于屏幕的位置   第一步:     ///     /// 用于获得鼠标相对于屏幕的位置    ///     public class Win32    {        [StructLayout(LayoutKind.
1160 0