WPF自学—模仿QQ窗体载入和关闭动画

本文介绍了如何使用WPF模仿QQ的窗体加载和关闭动画。通过设置WindowStyle为None和AllowsTransparency为true,实现无边框且支持透明的窗体。然后利用渐变画刷作为背景,并添加动画来改变透明掩码的偏移值和颜色,实现从无到有和由下而上的滚动效果。加载动画在窗体构造函数中调用,关闭动画在Xaml中触发,从而达到平滑的显示和消失效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天把《WPF编程宝典》这本书的动画相关章节看完了,于是想写个小程序练练手,但是不知道写什么好。看书的时候虽然也把上面的案例照着敲了一遍,但是它们毕竟和实际应用有很大差别,想用到日常项目里也不知道从何下手。

刚好看到了一位网友 youngytj  分享的模仿QQ载入和关闭动画的文章,我就跟着学习模仿了一遍,下面来讲讲具体如何实现的。

首先分析下我想实现的效果:第一,我打开程序后它从上到下滚动逐渐显示出来。第二,我点击窗口的关闭按钮后,窗体由下而上滚动逐渐消失。

为了实现这种效果我们要把窗体的WindowStyle设为None,因为用默认窗体风格的话,动画是运行在一个带有边框的框架里面的,远不是我们想要的效果,如下图:

 

从上面还可以看到窗体动画运行的时候,未填充的部分显示黑色,这是因为窗体的AllowsTransparency属性为false的缘故。我们把AllowsTransparency设为true以后,窗体的工作区支持透明了,就不会有黑色出现了。

接下来我们要给窗体设置一个背景,这样运行才能看到效果,我设的背景是一个渐变画刷,上面是浅蓝色,下面是白色,代码如下:

<Style TargetType="Window" x:Key="MyWindowStyle">

        <Sett
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值