• 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

    编辑器加载中...

  • 相关阅读:
    VMware-Fault-Tolerant Virtual Machine--论文翻译
    Mysql InnoDB存储引擎的锁相关
    深入理解JVM——读书笔记(虚拟机字节码执行引擎)
    Manacher算法
    The Google File System(论文阅读笔记)
    Java并发编程实践——读书笔记(一)
    MapReduce: Simplified Data Processing on Large Clusters
    二叉搜索树倒序O(nlogn)建树
    Day17
    Day16
  • 原文地址:https://www.cnblogs.com/linlf03/p/2150559.html
Copyright © 2020-2023  润新知