WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法。

原文:WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法。

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/87260287

?1、 可直接调用。需要将控件的名称,缩放的位数,时间等参数传进去。?

        /// <summary>
        /// 同时旋转和缩放的动画
        /// </summary>
        /// <param name="element"></param>
        /// <param name="Sizefrom"></param>
        /// <param name="Sizeto"></param>
        /// <param name="anglefrom"></param>
        /// <param name="angleto"></param>
        /// <param name="time"></param>
        /// <param name="Power"></param>
        /// <param name="completed"></param>
        public void ScaleEasingAnimationShow(UIElement element,double Sizefrom,double Sizeto,int anglefrom, int angleto ,TimeSpan time,int Power,EventHandler completed)
        {

            RotateTransform angle = new RotateTransform();  //旋转
            ScaleTransform scale = new ScaleTransform();   //缩放

            TransformGroup group = new TransformGroup();
            group.Children.Add(scale);
            group.Children.Add(angle);

            element.RenderTransform = group;
            //定义圆心位置
            //元素开始的位置是从new Point(0,0)到new Point(1,1),
            //左上角为(0,0)、右下角为(1,1),控件大小范围为(1,0) 1为控件本身大小,0 为控件缩放完,不显示。
            element.RenderTransformOrigin = new System.Windows.Point(0.5, 0.5);
            //载入动画,淡入淡出等。
            EasingFunctionBase easeFunction = new PowerEase()
            {
                EasingMode = EasingMode.EaseInOut,
                Power = Power
            };
            //缩放动画
            DoubleAnimation scaleAnimation = new DoubleAnimation()
            {
                From = Sizefrom,                                   //起始值
                To = Sizeto,                                     //结束值
                EasingFunction = easeFunction,                    //缓动函数
                Duration = time,  //动画播放时间

            };
            //旋转动画
            DoubleAnimation angleAnimation = new DoubleAnimation()
            {
                From = anglefrom,                                   //起始值
                To = angleto,                                     //结束值
                EasingFunction = easeFunction,              //缓动函数
                FillBehavior = FillBehavior.HoldEnd,
                Duration = time,  //动画播放时间

            };

            angleAnimation.Completed += completed;
            //scaleAnimation.Completed += new EventHandler(scaleAnimation_Completed);
            //  AnimationClock clock = scaleAnimation.CreateClock();
            scale.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            scale.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
            angle.BeginAnimation(RotateTransform.AngleProperty, angleAnimation);

        }

?

原文地址:https://www.cnblogs.com/lonelyxmas/p/10729330.html

时间: 2024-10-03 21:41:15

WPF编程,通过Double Animation同时动态缩放和旋转控件的一种方法。的相关文章

WPF编程,通过Double Animation动态旋转控件的一种方法。

原文:WPF编程,通过Double Animation动态旋转控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87259162 ? ?1.控件旋转,可直接调用.需要将控件的名称,旋转的角度,时间等参数传进去. /// <summary> /// 控件绕中心旋转动画 /// </summary> /// <param name="element"

WPF编程,通过Double Animation动态缩放控件的一种方法。

原文:WPF编程,通过Double Animation动态缩放控件的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87260143 ? ?1.控件缩放,可直接调用.需要将控件的名称,缩放的位数,时间等参数传进去. /// <summary> /// 控件绕中心缩放动画 /// </summary> /// <param name="element"

WPF编程,通过Path类型制作沿路径运动的动画另一种方法。

原文:WPF编程,通过Path类型制作沿路径运动的动画另一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/details/87358989 上一篇文章给了一个这方面的例子,那个文章里是通过后台按钮事件进行动画的开始.停止.继续等. 这里给出的是通过前台XAML来实现. 1.前台 定义路径.定义运动的主体,这里是一圆. <Path Stroke="Black" StrokeThickness

C# WPF 低仿网易云音乐(PC)歌词控件

原文:C# WPF 低仿网易云音乐(PC)歌词控件 提醒:本篇博客记录了修改的过程,废话比较多,需要项目源码和看演示效果的直接拉到文章最底部~ 网易云音乐获取歌词的api地址 http://music.163.com/api/song/media?id=歌曲ID 填写歌曲的id即可获取到json格式的数据(歌曲ID获取的方法是:点击分享按钮>其他分享>复制链接,就可以在链接中看到了): {"songStatus":0,"lyricVersion":10,

WPF加载Winform窗体时 报错:子控件不能为顶级窗体

一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为:public partial class Form1 三.代码如下: XXXX.Form1 Zhuwindow = new XXXX.Form1(); Zhuwindow.TopLevel = false; Zhuwindow.FormBorderStyle = System.Windows.Fo

ASP.NET动态加载用户控件的方法

方法是使用LoadControl方法,根据用户控件的相对路径,动态生成用户控件对象 用户控件 public class UserControlA :UserControl { public UserControlA(string name) { //TODO } } 需要动态生成控件的地方 string ucPath = "../UserControls/UserControlA.ascx"; UserControlA ca = Page.LoadControl(ucPath) as

动态创建asp.net控件

int i=0;            try            {                i = Int16.Parse(txt_num.Text);            } catch { } TextBox _txt;//创建text 对象            if (i > 0)            {                for (int _i = 0; _i < i; _i++)                {                    _

另类的动态加载用户控件

最新更新:原本在看到此方案的时候觉的想到这方案的朋友特别高深,后来本人把本文写出来想和大家分享下,才知道这个就是Dottext方案中的一个模块而已.真是汗啊,嫌自己见识太浅.既然写了就当复习了一次Dottext..这还是我第一次听说Dottext.     在BS架构这块,我们平时建一个网站,通常是创建一个WebSite网站,或者是创建一个WebApplication.然后在WEB项目里面建立相应的aspx文件,以及用户控件,自定义控件等等.但是做为一个新加入此项目的你要去修改里面的某一个功能模

【C#/WPF】用Thumb做可拖拽的UI控件

原文:[C#/WPF]用Thumb做可拖拽的UI控件 需求:简单的可拖拽的图片 使用System.Windows.Controls.Primitives.Thumb类 前台: <Canvas x:Name="g"> <Thumb Canvas.Left="10" Canvas.Top="20" Canvas.ZIndex="99" DragDelta="Thumb_DragDelta"&g