尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

[新手向][WPF]简单利用Blend辅助设计WPF动画

[新手向][WPF]简单利用Blend辅助设计WPF动画 [开发环境为Blend for Visual Studio 2019,Windows10 22H2,WPF by .NET Framework 4.7.2]如果使用Visual Studio硬写动画的话那么你的XAML技术应该十分强大。本期内容是我个人的经验分享目的是让更多WPF新手能够快速上手WPF的Storyboard效果所以大佬请绕道。图1是我搭建好的一个界面大概就是两个容器左边的命名为leftView右边的主视图命名为homeView图2是我们要实现的动画让leftView在鼠标进入时展开鼠标离开时收回并且动画整体衔接流畅。Blend设计动画1.点击对象和时间线下方的加号输入自己的动画名创建Storyboard动画资源。我这里将其命名为leftView_show。2.创建完成之后你的编辑器视图四周会有一条红线这代表已经开始动画编辑模式。此时你更改任何属性值都会被记录为关键帧如果想取消记录那么点击视图上方的红色按钮即可取消录制。3.这里我选中了leftView然后在开头处打了一帧关键帧4.接着我将时间轴移到了0.3秒处然后将leftView的width设置为了200此时我们会发现右边的homeView会和leftView重叠。我们可以用相同的方法为homeView也打上关键帧或者直接换用StackPanel进行布局我这里选择第一种方法。5.这是完成后的动画效果我们也可以点击指定关键帧然后更改动画过渡的效果。6.做好展开动画后我们可以相应的把收回动画做出来。我们可以通过右键动画选择重复→反转→重命名来快速制作相反的动画效果。触发器调用动画(vs新版已弃用)7.都做完之后我们可以在左上角的“触发器”中来设置播放动画的事件。注新版Visual Studio的触发器好像已经被砍了可以用C#来控制动画下文会讲到这是动画效果这时候问题就出来了这个动画看起来不是连续的就是没有打断效果。这是因为我们在每个动画的首帧都打了一个关键帧每次播放这个动画时控件的属性会先同步首帧关键帧而我们展开动画还没播放完就开始播放收回动画了这就导致属性的突变使动画看起来不衔接。8.我们可以删除每个动画的首帧来实现打断的效果现在再来看看是不是就没问题了C#调用动画9.首先在开头引用这个命名空间using System.Windows.Media.Animation;10.然后在事件里面写以下代码var an (Storyboard)FindResource(你的动画名); //大概来说就是找到动画 an.Begin(); //播放动画这样动画也就能够正常播放了。
返回列表