主界面的代码

<StackPanel  ButtonBase.Click="Grid_Click">
<Button Content="逐渐变大缩小"/>
<Button Content="鼠标移动特效" />
</StackPanel>

cs :

//这事件不做过多的解释有基础的一看就会明白
private void Grid_Click(object sender, RoutedEventArgs e)
{
object obj = e.OriginalSource;
Button butn = null;
if (obj is Button)
butn = obj as Button;
Type type = this.GetType();//获取当前实例
Assembly assembly = type.Assembly;//获取在其中声明的类型
//动态的实例化一个对象
Window win = (Window)assembly.CreateInstance(type.Namespace + "." + butn.Content.ToString());
win.Show(); }
下面进行第一个动画:
xaml界面
<Grid>
<Button Content="点击逐渐增长" Height="" HorizontalAlignment="Left" Margin="29,37,0,0" Name="btnGrow1" VerticalAlignment="Top" Width="" />
<Button Content="点击逐渐归位" Height="" HorizontalAlignment="Left" Margin="86,88,0,0" Name="btnBack" VerticalAlignment="Top" Width="" />
<Button Content="点击增长" Height="" HorizontalAlignment="Left" Margin="98,161,0,0" Name="btnGrow" VerticalAlignment="Top" Width="" />
</Grid>
cs:
public 逐渐变大缩小()
{
InitializeComponent();
//给button注册点击事件
btnGrow1.Click += new RoutedEventHandler(btnGrow1_Click);
btnBack.Click += new RoutedEventHandler(btnBack_Click);
btnGrow.Click += new RoutedEventHandler(btnGrow_Click);
}
//点击增长
void btnGrow_Click(object sender, RoutedEventArgs e)
{
DoubleAnimation widthAnimation = new DoubleAnimation() { By=,Duration=TimeSpan.FromSeconds(0.2) };
btnGrow.BeginAnimation(Button.WidthProperty, widthAnimation);
}
//还原动画
void btnBack_Click(object sender, RoutedEventArgs e)
{
DoubleAnimation widthAmination = new DoubleAnimation();
widthAmination.Duration = TimeSpan.FromSeconds();
DoubleAnimation heightAmimation = new DoubleAnimation();
heightAmimation.Duration = TimeSpan.FromSeconds();
btnGrow1.BeginAnimation(Button.WidthProperty, widthAmination);
btnGrow1.BeginAnimation(Button.HeightProperty, heightAmimation);
}
//逐渐增长事件
void btnGrow1_Click(object sender, RoutedEventArgs e)
{
DoubleAnimation widthAnimation = new DoubleAnimation()
{
To = this.Width - ,
Duration = TimeSpan.FromSeconds()
};
DoubleAnimation heightAnimation = new DoubleAnimation()
{
To=(this.Height-)/,
Duration=TimeSpan.FromSeconds()
};
btnGrow1.BeginAnimation(Button.WidthProperty, widthAnimation);
btnGrow1.BeginAnimation(Button.HeightProperty, heightAnimation);
}
好了现在的一个简单点击放大缩小的动画就做好了
小结:1,本例中在菜单窗体中用到了用到了一个 ButtonBase.Click特别说明一下这个事件很好用如果一个界面上的按钮很多
每个事件都需要弹出一个窗体用这个最好用,节省代码,
2,在WPF中要实现动画就需要DoubleAnimation这个类,按照自己的想法从初始状态From定义到结束To状态在多长事件内完成Duration
最后需要一个控件来触发动画例如:
   btnGrow1.BeginAnimation(Button.WidthProperty, widthAnimation);
这段代码的意思就是
btnGrow1控件点击是触发widthAnimation这个动画,影响的对象就是这个控件的width
好了就写到这里,以后还会有,wpf,很有意思,相比起winform来他的界面更加灵活,代码编写也更加灵活,
界面的色彩也很好定义,另外动画也可以下载axml中,但是本人不喜欢在界面设计窗台上写这些,在后台写的话跟能看的清楚。

WPF动画制作简单的按钮动画的更多相关文章

  1. Microsoft Expression Blend 4制作简单的按钮

    在博客园混了这么久了,第一次写博客.本人标准的理工男,文笔不敢说一般,只能用还学过语文.勉强达意而已.见笑!! 由于本人能有有限,错误之处在所难免,望大牛们批评指正,共同进步.^_^!!!!!!!!! ...

  2. Laya的动画制作,整图动画,序列图动画,时间轴动画,龙骨动画

    参考: Laya动画基础 Egret帧动画工具类 版本:2.1.1.1 序列图动画 白鹭的序列图动画,使用TexureMerger合图,然后使用MovieClip类播放. Laya的话,使用图集打包工 ...

  3. PhotoShop制作简单的文字动画--多媒体技术与应用

    下面是最终实现的效果图: 1.新建图像,设置图像属性如下所示. 2.使用[横排文字工具]在背景图像上打上文字内容 3.[图层]——>[图层式样]——>[渐变叠加] 出现“图层样式”面板 4 ...

  4. 8款超酷而实用的CSS3按钮动画

    1.CSS3分享按钮动画特效 这是一款基于CSS3的社会化分享按钮,按钮非常简单,提供了分享到twitter.facebook.youtube等大型社交网站.每一个分享按钮都有个大社交网站的Logo图 ...

  5. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    原文:WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/articl ...

  6. canvas制作简单动画

    在画布元素<canvas>中,除了绘制图形.图像.文字外,还可以制作一些简单的动画,制作过程十分简单,主要分为两步操作: 1.自定义一个函数,用于图形的移动或其他动作. 2.使用setIn ...

  7. WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体

    原文:WPF 3D:简单的Point3D和Vector3D动画创造一个旋转的正方体 运行结果: 事实上很简单,定义好一个正方体,处理好纹理.关于MeshGeometry3D的正确定义和纹理这里就不多讲 ...

  8. 简单的UIButton按钮动画效果iOS源码

    这个是简单的UIButton按钮动画效果案例,源码,简单的UIButton按钮动画,可以自定义button属性. 效果图: <ignore_js_op> 使用方法: 使用时把ButtonA ...

  9. CSS3动画制作的简单示例

    CSS3 大大强化了制作动画的能力,但是如果要做出图案比较复杂的动画,选择 GIF 依然是一个不错的选择.今天给大家介绍一个使用 CSS animation 配合雪碧图(CSS sprite)来制作动 ...

随机推荐

  1. Mac-sublime text 3破解版

    在史蒂芬周下载破解版 安装package control import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f ...

  2. 手机端图片插件可缩放 旋转 全屏查看photoswipe

    官方介绍PhotoSwipe 是专为移动触摸设备设计的相册/画廊.兼容所有iPhone.iPad.黑莓6+,以及桌面浏览器.底层实现基于HTML/CSS/JavaScript,是一款免费开源的相册产品 ...

  3. SQL--面试题

    表A字段如下 month  name income 月份   人员 收入 1      a    1000 2      a    2000 3      a    3000要求用一个SQL语句(注意 ...

  4. 网络编程学习笔记--1.socket可读可写条件

    转至 :http://blog.csdn.net/majianfei1023/article/details/45788591 socket可读可写条件,经常做为面试题被问,因为它考察被面试者对网络编 ...

  5. hdu 5176(并查集)

    The Experience of Love Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  6. [BZOJ2730][HNOI2012]矿场搭建 点双 割点

    2730: [HNOI2012]矿场搭建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2852  Solved: 1344[Submit][Stat ...

  7. 2017 ACM-ICPC 亚洲区(青岛赛区)网络赛 1010

    #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #inclu ...

  8. HDU 2164(模拟)

    Rock, Paper, or Scissors? Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  9. Android学习--还有一些小技巧

    这些小技巧 通过上面的这些文章,就把简单的安卓项目总结了一遍,当然你说懂这些就可以做Android开发的话还是不行的,欠缺的还有很多,但欠缺的这些我们有只能在工作中去总结以及不断的提高,这篇文章我们还 ...

  10. Manacher【SP7586】NUMOFPAL - Number of Palindromes

    Description 求一个串中包含几个回文串. Input 输入一个字符串\(S\) Output 包含的回文串的个数. 看到题解里面有人人写回文自动机. 有必要那么麻烦嘛 emmm 我们直接跑\ ...