WPF中全局开启或关闭动画效果

微笑、不失礼 提交于 2019-11-29 16:55:45

公司开发的WPF项目中,要求有这样一个业务:用户可以开启或关闭动画效果。WPF的绚丽之处就是3D、动画、特效等等,给人非常炫的感觉,但是机器配置较差的用户可能需要关闭动画特效。
我甚至遇到一个3D特效在显卡不好机器上,导致应用程序崩溃的情况。可见WPF对机器的要求还是比较高的。如果才能做到呢?需要以下几步就能轻松完成。

初始状态:

鼠标移动到矩形上颜色更改


1.建立两个资源字典,分别为Storyboards.xaml和NonStoryboards.xaml
见项目文件截图:

Storyboards.xaml里放有动画的内容

NonStoryboards.xaml里放有没有动画的内容,并保证Key一致


2.在App.xaml.cs增加一个静态方法,加载资源字典,定义在App中,好处是应用程序级别设置,而不是针对某个窗体


3.在窗体设置对象与对象的动画,以及动画效果的CheckBox开关
这里要注意的是:Storyboard="{DynamicResource Storyboard1}必须使用DynamicResource(动态资源),如果使用了StaticResource则第一次加载后,不会更改。

CheckBox事件:


到此大功告成!
源代码下载:http://download.csdn.net/source/3349597

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!