这两天把《WPF编程宝典》这本书的动画相关章节看完了,于是想写个小程序练练手,但是不知道写什么好。看书的时候虽然也把上面的案例照着敲了一遍,但是它们毕竟和实际应用有很大差别,想用到日常项目里也不知道从何下手。
刚好看到了一位网友 youngytj 分享的模仿QQ载入和关闭动画的文章,我就跟着学习模仿了一遍,下面来讲讲具体如何实现的。
首先分析下我想实现的效果:第一,我打开程序后它从上到下滚动逐渐显示出来。第二,我点击窗口的关闭按钮后,窗体由下而上滚动逐渐消失。
为了实现这种效果我们要把窗体的WindowStyle设为None,因为用默认窗体风格的话,动画是运行在一个带有边框的框架里面的,远不是我们想要的效果,如下图:
从上面还可以看到窗体动画运行的时候,未填充的部分显示黑色,这是因为窗体的AllowsTransparency属性为false的缘故。我们把AllowsTransparency设为true以后,窗体的工作区支持透明了,就不会有黑色出现了。
接下来我们要给窗体设置一个背景,这样运行才能看到效果,我设的背景是一个渐变画刷,上面是浅蓝色,下面是白色,代码如下:
<Style TargetType="Window" x:Key="MyWindowStyle">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint=