当前位置:网站首页>WPF 实现窗体抖动效果
WPF 实现窗体抖动效果
2022-08-02 11:31:00 【yanjinhua】
实现窗体抖动效果仿QQ窗体抖动
窗体抖动使用 DoubleAnimation修改窗体的当前Left的+15,并设置AutoReverse=True该值指示时间线在完成向前迭代后是否按相反的顺序播放RepeatBehavior默认值为Count 1,表示时间线播放一次。FillBehavior属性设置Stop. 由于其填充期中的动画继续重写其目标属性的值,因此尝试通过其他方式设置目标属性的值似乎不起作用;
1)WindowShake.cs 代码如下;
public static void WindowShake(Window window = null)
{
if (window == null)
if (Application.Current.Windows.Count > 0)
window = Application.Current.Windows.OfType<Window>().FirstOrDefault(o => o.IsActive);
var doubleAnimation = new DoubleAnimation
{
From = window.Left,
To = window.Left + 15,
Duration = TimeSpan.FromMilliseconds(50),
AutoReverse = true,
RepeatBehavior = new RepeatBehavior(3),
FillBehavior = FillBehavior.Stop
};
window.BeginAnimation(Window.LeftProperty, doubleAnimation);
var wavUri = new Uri(@"pack://application:,,,/WPFDevelopers;component/Resources/Audio/shake.wav");
var streamResource = Application.GetResourceStream(wavUri);
var player1 = new SoundPlayer(streamResource.Stream);
player1.Play();
}
2)Shake 使用代码如下;
方式一:不传 Window参的话,获取当前程序运行存在焦点的Window;
ControlsHelper.WindowShake();
方式二:可以传递需要抖动的 Window;
ControlsHelper.WindowShake(window);
Timeline 类Gtihub[1]Gitee[2]
参考资料
Gtihub: https://github.com/WPFDevelopersOrg/WPFDevelopers
[2]gitee: https://gitee.com/WPFDevelopersOrg/WPFDevelopers
边栏推荐
猜你喜欢
随机推荐
FinClip | 来了, 2022 年 7 月更新大盘点
Mysql transaction isolation level and MVCC (multi-version concurrency control)
Shell编程之条件语句
【kali-信息收集】(1.9)Metasploit+搜索引擎工具Shodan
借小程序容器打造自有App小程序生态
深度学习100例 —— 卷积神经网络(CNN)实现mnist手写数字识别
流动性质押挖矿系统开发如何制作?单双币系统开发成熟技术
【Acunetix-忘记密码】
小程序插件让开发者受益的几个理由
学习笔记-支付宝支付
jvmxmx和xms参数分析(设定优化校准)
图形处理单元(GPU)的演进
QT笔记——QT类反射机制简单学习
基于深度学习的裂缝检测技术
bgp与mpls综合实验
LeetCode每日一练 —— 225. 用队列实现栈
Mysql事务隔离级别与MVCC(多版本并发控制)
雷克萨斯,锁死的安全,挡不住的心寒
jacoco的学习以及理解
细学常用类,集合类,IO流









