博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
滚轮缩放效果
阅读量:4616 次
发布时间:2019-06-09

本文共 2159 字,大约阅读时间需要 7 分钟。

public void MouseWheelEventHandler(object sender, MouseWheelEventArgs e)        {            double oldScalX = ((ScaleTransform)canvas.RenderTransform).ScaleX;            double oldScalY = ((ScaleTransform)canvas.RenderTransform).ScaleY;            var storyBoard = new Storyboard();            //var group = new TransformGroup();            //var scale = new ScaleTransform(1.5, 1.5);            //group.Children.Add(scale);            //group.Children.Add(new TranslateTransform(300, 300));            //canvas.RenderTransform = group;            RegisterName("MainCanvas", canvas);            var growAnimation = new DoubleAnimation();            QuinticEase ee = new QuinticEase();            ee.EasingMode = EasingMode.EaseOut;            growAnimation.EasingFunction = ee;            growAnimation.From = oldScalX;            if (e.Delta > 0)            {                growAnimation.To = oldScalX + 0.2;            }            else            {                growAnimation.To = oldScalX - 0.2;            }            storyBoard.Children.Add(growAnimation);            var growAnimation2 = new DoubleAnimation();            QuinticEase ee2 = new QuinticEase();            ee2.EasingMode = EasingMode.EaseOut;            growAnimation2.EasingFunction = ee2;            growAnimation2.From = oldScalY;            if (e.Delta > 0)            {                growAnimation2.To = oldScalY + 0.2;            }            else            {                growAnimation2.To = oldScalY - 0.2;            }            storyBoard.Children.Add(growAnimation2);            Storyboard.SetTargetProperty(growAnimation, new PropertyPath("RenderTransform.ScaleX"));            Storyboard.SetTargetProperty(growAnimation2, new PropertyPath("RenderTransform.ScaleY"));            Storyboard.SetTargetName(growAnimation, "MainCanvas");            Storyboard.SetTargetName(growAnimation2, "MainCanvas");            storyBoard.Begin(this);        }

添加事件代码

private void UserControl_Loaded_1(object sender, RoutedEventArgs e)        {            Window.GetWindow(this).MouseWheel += MouseWheelEventHandler;        }

 

转载于:https://www.cnblogs.com/wangjixianyun/p/3751778.html

你可能感兴趣的文章
cocopod安装
查看>>
Atitit.软件命名空间 包的命名统计 及命名表(2000个名称) 方案java package...
查看>>
Atitit.数据索引 的种类以及原理实现机制 索引常用的存储结构
查看>>
Atitit ati licenseService 设计原理
查看>>
掌握iOS自动布局
查看>>
CSS选择器(中)——高级选择器续
查看>>
php三元运算符详解
查看>>
作为项目经理的7个经验教训总结
查看>>
LIS+LCS~
查看>>
Spring Security教程(5)---- 国际化配置及UserCache
查看>>
Docker端口映射
查看>>
当前,思路+进展+idea+下一步要做的工作
查看>>
中间件的理解
查看>>
ZT 或许你一辈子都是个小人物
查看>>
curl的封装
查看>>
人脸识别算法初次了解
查看>>
Java之利用Freemarker模板引擎实现代码生成器,提高效率
查看>>
python1
查看>>
.NET Core之胡言乱语
查看>>
想说的话
查看>>