精华内容
下载资源
问答
  • WPF 颜色动画

    2018-03-30 09:19:21
    WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF 颜色动画 WPF ...
  • WPF颜色变化动画

    2020-05-24 20:33:13
    WPF颜色变化动画 控件从透明到不透明动画 DoubleAnimation ks = new DoubleAnimation(); ks.From = btu1.Opacity; ks.To = 1; ks.Duration = new Duration(TimeSpan.FromSeconds(2)); btu1.BeginAnimation...

    WPF颜色变化动画

    控件从透明到不透明动画

                DoubleAnimation ks = new DoubleAnimation();
                ks.From = btu1.Opacity;
                ks.To = 1;
                ks.Duration = new Duration(TimeSpan.FromSeconds(2));
                btu1.BeginAnimation(Button.OpacityProperty, ks);
    

    颜色变换动画

                SolidColorBrush ys = new SolidColorBrush();//颜色绘制
    
                ColorAnimation ks = new ColorAnimation();//颜色动画处理
                ks.From = Colors.AliceBlue;//初始颜色
                ks.To = Colors.Violet;//结束颜色
                ks.AutoReverse = true;//反向播放动画
                ks.RepeatBehavior = RepeatBehavior.Forever;//无限循环播放
                ks.Duration = new Duration(TimeSpan.FromSeconds(2));//动画一次所用时间
                ys.BeginAnimation(SolidColorBrush.ColorProperty, ks);//颜色绘制使用动画绘制
                this.Background = ys;//窗体背景颜色为绘制颜色
    
    展开全文
  • 示例中包含3中动画效果 ...1.扩散动画效果,可以自由设置颜色。 2.沿路径运行的动画效果。 3.渐变线沿传输效果动画。类似于输送管道样的动画效果,可自由设置方向、颜色、速度。 提供示例,仅供学习参考。
  • WPF全局动画控制

    千次阅读 2014-01-16 10:47:29
    WPF全局动画控制

    WPF写的全局动画控制,鼠标移上去会改变Ellipse的颜色,可以用checkbox取消动画显示。

    效果如图:


    1.新建wpf项目,新建一个文件夹,命名为:Res,在里面添加两个资源字典,分别命名为:Dictionary1.xaml和Dictionary2.xaml;

    2.添加一个wpf窗体,命名为:MainWindow;


    3.Dictionary2.xaml代码:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    	<Storyboard x:Key="Storyboard1">
    		<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="rectangle">
    			<EasingColorKeyFrame KeyTime="0:0:0.5" Value="Yellow"/>
    		</ColorAnimationUsingKeyFrames>
    	</Storyboard>
    	<Storyboard x:Key="Storyboard2">
    		<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="rectangle">
    			<EasingColorKeyFrame KeyTime="0" Value="Yellow"/>
    			<EasingColorKeyFrame KeyTime="0:0:0.5" Value="Red"/>
    		</ColorAnimationUsingKeyFrames>
    	</Storyboard>
    </ResourceDictionary>

    4.Dictionary1.xaml代码:

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    	<Storyboard x:Key="Storyboard1">
    	</Storyboard>
    	<Storyboard x:Key="Storyboard2">
    	</Storyboard>
    </ResourceDictionary>

    5.App.xaml.cs代码:

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Windows;
    
    namespace WPF动画控制 {
    	/// <summary>
    	/// App.xaml 的交互逻辑
    	/// </summary>
    	public partial class App : Application {
    
    		protected override void OnStartup(StartupEventArgs e) 
            {
    			base.OnStartup(e);
    			App.LoadResources(true);
    		}
    
    		public static void LoadResources(bool allowStoryboard) 
            {
                string resFilename = "/Res/" + (allowStoryboard ? "Dictionary2.xaml" : "Dictionary1.xaml");
    			ResourceDictionary resDic = new ResourceDictionary {Source = new Uri(resFilename, UriKind.Relative)};
    			Application.Current.Resources.MergedDictionaries.Clear();
    			Application.Current.Resources.MergedDictionaries.Add(resDic);
    		}
    	}
    }
    

    6.MainWindow.xaml代码:

    <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
            mc:Ignorable="d" 
            x:Class="WPF动画控制.MainWindow"
            Title="MainWindow" Height="196" Width="257">
        <Window.Resources>
        </Window.Resources>
        <Window.Triggers>
            <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="rectangle">
                <BeginStoryboard Storyboard="{DynamicResource Storyboard1}"/>
            </EventTrigger>
            <EventTrigger RoutedEvent="Mouse.MouseLeave" SourceName="rectangle">
                <BeginStoryboard Storyboard="{DynamicResource Storyboard2}"/>
            </EventTrigger>
        </Window.Triggers>
        <Grid>
            <Ellipse x:Name="rectangle" HorizontalAlignment="Left" Margin="10,31,0,0" Stroke="Black" Width="117" Fill="#FFFF2800" Height="110" VerticalAlignment="Top" />
            <CheckBox Content="动画效果" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" IsChecked="True" Width="80" Click="CheckBox_Click" RenderTransformOrigin="0.338,0.75" />
        </Grid>
    </Window>
    

    7.MainWindow.xaml.cs代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WPF动画控制 {
    	/// <summary>
    	/// MainWindow.xaml 的交互逻辑
    	/// </summary>
    	public partial class MainWindow : Window {
    		public MainWindow() {
    			InitializeComponent();
    		}
    
    		private void CheckBox_Click(object sender, RoutedEventArgs e) {
    			CheckBox checkBox=sender as CheckBox;
    			App.LoadResources(checkBox.IsChecked.Value);
    		}
    
    	}
    }
    代码下载地址


    展开全文
  • WPF实现动画效果

    2020-06-03 17:53:57
    WPF动画 今天我们尝试用WPF实现动画效果,我们都知道一般传统的动画形式主要是用计时器以及一些事件处理对象的属性来实现动画的. 而WPF则是使用计时器和自定义的绘图逻辑以及对象自带的属性来实现动画的. 实现WPF动画...

    WPF动画

    今天我们尝试用WPF实现动画效果,我们都知道一般传统的动画形式主要是用计时器以及一些事件处理对象的属性来实现动画的.

    而WPF则是使用计时器和自定义的绘图逻辑以及对象自带的属性来实现动画的.

    实现WPF动画的基本过程

    实现动画的过程就和拍电影一样,首先确定剧本,然后修改剧本,随后确定演员角色,最后开拍

    1,在XAML中将grid改为canvas并取名name=“canvas”

    在window设计界面里面,通过Loaded="Canvas_Loaded"向界面添加加载事件

    (开拍前的准备工作)

    <Window ……
        ……  Title="MainWindow" Height="450" Width="800" Loaded="Canvas_Loaded">
        <Canvas Name="canvas">
    

    2,加载事件创建好以后,接下来我们来创建故事版和动画对象,一个故事版里面可以添加多种动画,也可以创建多个动画对象

    (确定剧本)

    //在设计界面通过Loaded="Window_Loaded"给当前窗体添加一个加载事件
            //实现动画首先要创建故事版(需要引入数据包)
            Storyboard gsb = new Storyboard();
            //创建一个border对象,让bd动起来
            Border bd = new Border();
    

    注;引用的故事版的数据包

    using System.Windows.Media.Animation;//故事版数据包
    

    3,设置动画对象border(bd)的属性

    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                //设置border对象的宽和高
                bd.Width = 150;
                bd.Height = 150;
                bd.BorderThickness = new Thickness(3);//设置边框的宽度
                bd.BorderBrush = Brushes.Black;//设置边框的背景颜色
                bd.Background = Brushes.Pink;//设置bd的背景颜色
                //设置bd距离顶端还有左端的距离
                Canvas.SetLeft(bd, 0);
                Canvas.SetTop(bd, 0);
                dhxg.Children.Add(bd);//将bd对象放到canvas中
    

    4,创建控制动画执行按钮以及触发事件

     Button ks = new Button();
                ks.Width = 150;
                ks.Height=25;
                ks.Content = "点击开始播放";
                //只有设置了bd距离顶端还有左端的距离才可以进行获取
                Canvas.SetLeft(ks, Canvas.GetLeft(bd));
                Canvas.SetTop(ks, Canvas.GetTop(bd)+bd.Height);
                ks.Click += Ks_Click;
                dhxg.Children.Add(ks);
    

    一,平移动画

    1,创建故事内容情节

    //创建故事内容情节
                //浮点动画
                DoubleAnimation move = new DoubleAnimation();
    

    2,故事内容情节完善

    五个属性:

    (1)From 起始值;
     move.From = 100;
    
    (2)To 结束值;
     move.To = 1000;
    
    (3)Duration 表示动画执行一次所需要的
    move.Duration = new Duration(new TimeSpan(0, 0, 0, 3, 0));
    
    注;以上三个属性,负责安排故事的情节
    注;下面两个必要属性,设置这个故事情节的对象(演员)
    (4)Storyboard.SetTarget: 设置动画执行的对象;
    Storyboard.SetTarget(move, bd);//将动画添加给bd目标对象
    
    (5)Storyboard.SetTargetProperty: 设置动画的执行属性.
    Storyboard.SetTargetProperty(move, new PropertyPath("(Canvas.Left)"));//注意这里的路径大小写一定要区分清楚
    

    3,三个基本属性

    (1),表示动画是否可以向相反方向执行

    move.AutoReverse = true;
    

    (2),表示动画的执行次数.因为设置了往返,所以动画执行次数最少是两次

    move.RepeatBehavior = new RepeatBehavior(2);//动画执行次数100到1000一次,回来一次,所以执行次数必须是两次
    

    (3),表示永久执行

    move.RepeatBehavior = RepeatBehavior.Forever;
    

    4,将故事情节添加到故事版中

    gsb.Children.Add(move);//将move(平移动画)动画添加到故事版中
    

    5,选择合适的时候开始执行动画(按钮的触发事件)

            private void Ks_Click(object sender, RoutedEventArgs e)
            {
                gsb.Begin();//开始播放动画
            }
    

    二,背景颜色动画

    1,背景颜色动画和平移动画写法不同,是优化以后的写法

    一行代码包括了

    From 起始值,

    To 结束值,

    Duration 表示动画执行一次所需要的时间

    三个属性来表示故事的情节

    //背景颜色
    //写法和上面不同    优化以后的写法如下
    ColorAnimation ys = new ColorAnimation(Colors.Red,Colors.Blue,new Duration(TimeSpan.FromSeconds(3)));//背景颜色渐变和时间间隔
    

    2,Storyboard.SetTarget: 设置动画执行的对象;

    Storyboard.SetTarget(ys, bd);//将动画添加给bd目标对象
    

    3,Storyboard.SetTargetProperty: 设置动画的执行属性.

    (1),在设置属性时,必须要在对象中进行初始化该属性的值才可以进行设置
    (2),两个Storyboard.SetTargetProperty不能在一个动画里面同时运行,否则下一个会把上一个替换掉
    (3),注意这里的路径大小写一定要区分清楚
    Storyboard.SetTargetProperty(ys, new PropertyPath("(Border.Background).(SolidColorBrush.Color)"));
    

    4,三个基本属性

    (1),表示动画是否可以向相反方向执行
    ys.AutoReverse = true;
    
    (2),表示动画的执行次数.因为设置了往返,所以动画执行次数最少是两次
    ys.RepeatBehavior = new RepeatBehavior(2);
    
    (3),表示永久执行
    ys.RepeatBehavior = RepeatBehavior.Forever;
    

    5,将故事情节添加到故事版中

    gsb.Children.Add(ys);//将ys(背景颜色动画)动画添加到故事版中
    

    边框动画和缩放动画书写格式和上面基本一致

    三,边框颜色动画

    //边框颜色
                //优化写法
                ColorAnimation ys1 = new ColorAnimation(Colors.Green, Colors.Yellow, new Duration(TimeSpan.FromSeconds(2)));//边框颜色渐变和时间间隔
                //Storyboard.SetTarget: 设置动画执行的对象;
                Storyboard.SetTarget(ys1, bd);
                //Storyboard.SetTargetProperty: 设置动画的执行属性
                Storyboard.SetTargetProperty(ys1, new PropertyPath("(Border.BorderBrush).(SolidColorBrush.Color)"));
                //三个基本属性
                //表示边框颜色动画是否可以反过来继续执行
                ys1.AutoReverse = true;
                //表示动画的执行次数.因为设置了往返,所以动画执行次数最少是两次
                ys1.RepeatBehavior = new RepeatBehavior(2);//动画执行次数100到1000一次,回来一次,所以执行次数必须是两次
                //表示可以永久执行
                ys1.RepeatBehavior = RepeatBehavior.Forever;
                gsb.Children.Add(ys1);//将ys1(边框颜色动画)动画添加到故事版中
    

    四,边框缩放动画

    //边框缩放
                //优化写法
                ThicknessAnimation tick = new ThicknessAnimation(new Thickness(10),new Duration(TimeSpan.FromSeconds(3)));//边框缩放和时间间隔
                //Storyboard.SetTarget: 设置动画执行的对象;
                Storyboard.SetTarget(tick, bd);
                //Storyboard.SetTargetProperty: 设置动画的执行属性
                Storyboard.SetTargetProperty(tick, new PropertyPath("(BorderThickness)"));//路径是bd的边框
                //三个基本属性
                //表示边框缩放动画是否可以反过来继续执行
                tick.AutoReverse = true;
                //表示动画的执行次数.因为设置了往返,所以动画执行次数最少是两次
                tick.RepeatBehavior = new RepeatBehavior(2);//动画执行次数100到1000一次,回来一次,所以执行次数必须是两次
                //表示可以永久执行
                tick.RepeatBehavior = RepeatBehavior.Forever;
                gsb.Children.Add(tick);//将tick(边框缩放动画)添加到故事版中
    

    五,旋转动画

    //旋转
                //定义故事版情节
                //优化写法
                DoubleAnimation xz = new DoubleAnimation(0,360,new Duration(TimeSpan.FromSeconds(3)));//0°到360°旋转,时间间隔为3秒
                //Storyboard.SetTarget: 设置动画执行的对象;
                Storyboard.SetTarget(xz, bd);
                //Storyboard.SetTargetProperty: 设置动画的执行属性
                //Storyboard.SetTargetProperty的路径为旋转的名词
                Storyboard.SetTargetProperty(xz, new PropertyPath("RenderTransform.Angle"));
                gsb.Children.Add(xz);//将xz(旋转动画)添加到故事版中
                //旋转对象
                //表示边框缩放动画是否可以反过来继续执行
                xz.AutoReverse = true;
                //表示可以永久执行
                xz.RepeatBehavior = RepeatBehavior.Forever;
                //设置RenderTransform属性
                RotateTransform rotatel = new RotateTransform();
                bd.RenderTransform = rotatel;//位置改变是以旋转对象为主
                bd.RenderTransformOrigin = new Point(0.5, 0.5);//以中心位置进行旋转
            }
    
    展开全文
  • WPF路径动画

    2019-07-08 09:02:32
    然后在画布里定义一个圆Rectangle和路径Path:Stroke属性设置路径的颜色,StrokeThickness属性设置路径的大小,Data属性绑定上面定义好的资源。 最后使用触发器触发DoubleAnimationUsingPath路径动画 Window....

    开发工具与关键技术:Visual Studio 2017 C#
    作者:黄冠棋
    撰写时间:2019年07月07日
    首先在窗口中定义好一个路径几何对象
    ArcSegment类 :表示两点之间的一条椭圆弧。
    Size代表圆弧的X,Y轴半径
    SweepDirection获取或设置一个值,
    该值指定是以 Clockwise[指定按顺时针(正角)方向绘制圆弧。]
    还是以 Counterclockwise [指定按逆时针(负角)方向绘制圆弧。]
    在这里插入图片描述
    然后在画布里定义一个圆Rectangle和路径Path:Stroke属性设置路径的颜色,StrokeThickness属性设置路径的大小,Data属性绑定上面定义好的资源。
    在这里插入图片描述
    最后使用触发器触发DoubleAnimationUsingPath路径动画
    Window.Loaded:窗口加载事件在窗口加载时触发动画
    Storyboard.TargetName:指向某个特定元素
    Storyboard.TargetProperty:指向某个特定属性
    PathGeometry:创建动画的形状,这里绑定上面定义好的资源
    Duration:动画的时间
    RepeatBehavior:设置动画的次数 Forever为永久重复
    在这里插入图片描述
    运行效果:

    在这里插入图片描述

    展开全文
  • WPF动画

    2019-04-26 20:36:21
    WPF动画 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术: Visual Studio 2015 * SQL Server 作者:叶 撰写时间:2019年01月01日 ~~~~~~~~~~~~~~~~~~~...
  • WPF动画中常见的动画就平移、缩放以及旋转,一般会用到故事板(Storyboard)和浮点动画( DoubleAnimation),下面我们先对这两个进行具体的介绍,因为本次我们主要利用故事板来添加动画: 一.Storyboard:俗称故事板,在VS...
  • WPF动画

    2019-07-04 09:23:17
    下面给大家讲动画的效果,有两种类型:一致是在开始值和结束值之间以逐步增加的方式改变属性的动画(线性插值过程);另一种是从一个值突然变成另一值的动画(关键帧动画);所有关键帧动画都使用“类型名+...
  • WPF背景颜色变化的动画

    千次阅读 2017-11-24 11:05:15
    //想做一个背景颜色变化的动画,开始想用透明因子Opacity来实现,后来发现可以改变渐变线性刷LinearGradienBrush的Offset来实现//就是在设置Storyboard.TargetProperty的时候比较绕//实例:#FFFFFFFF #FF398FDF ...
  • 基于wpf制作动画

    2019-05-26 21:32:19
    开发工具与关键技术:wpf 作者:龙文浩 撰写时间:2019年5月25日 制作动画, 为了 代码简洁、功能方便使用:可以使用添加公共资源的方式,向资源字典里面添加动画,然后再给页面的各个地方调用: 例如下图,给资源...
  • C#WPF动画

    2021-05-10 16:13:10
    动画中,可以使用移动的元素、颜色变化、变换等制作平滑的变换效果。WPF使动画的制作非常简单。还可以连续改变任意依赖属性的值。不同的动画类可以根据其类型,连续改变不同属性的值。 动画的主要元素如下: ...
  • WPF实现动画——旋转

    2020-05-17 17:57:48
    WPF实现动画——旋转 1、布局 布局为Canvas画布 2、对象 but.Background = Brushes.LightSteelBlue;//按钮控件的背景颜色 but.Width = but.Height = 100;//按钮控件的宽高大小 xz.Children.Add(but);//将按钮控件...
  • WPF利用动画实现圆形进度条 原文:WPF利用动画实现圆形进度条 这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,...
  • WPF 动画

    2019-04-28 08:15:33
    1、Storyboard(故事板)是动画的基本单元。 2、Storyboard控制动画的播放,暂停,停止,操作。 3、需要指定TargetName和TargetProperty属性。 4、动画类型声明过后,需要使用EveryTrigger(事件触发器)触发 ...
  • 关于WPF动画

    千次阅读 2019-06-10 08:36:38
    动画中,可以使用移动的元素、颜色变化、变换等制作平滑的变换效果。WPF动画的制作非常简单。还可以连续改变任意依赖属性的值。不同的动画类可以根据其类型,连续改变不同属性的值。 动画的主要元素如下: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,974
精华内容 1,189
关键字:

wpf颜色动画