动态创建Storyboard

做动画或者做控件的时候不一定都要在xaml里做Storyboard,有时候在代码里动态创建会更加灵活些。

这里以我做的一个改变颜色的Storyboard为例来做说明。(查了不少英文资料,大多都是对beta2的,和release的版本有些不同)

代码:

Storyboard storyboard = new Storyboard();
            Brush br = xRectangle.Fill;
            ColorAnimation colorAnim = new ColorAnimation();
            colorAnim.To = ToColor;
            colorAnim.Duration = TimeSpan.FromSeconds(1);
            colorAnim.RepeatBehavior = new RepeatBehavior(1);
            colorAnim.AutoReverse = false;
            Storyboard.SetTarget(colorAnim, br);
            Storyboard.SetTargetProperty(colorAnim, new PropertyPath("Color"));
            storyboard.Children.Add(colorAnim);
            Resources.Add("colorsb", storyboard);

这样一个变换颜色的动画就完成了。

Resources.Add("colorsb", storyboard);  

这一句是把Storyboard插入页面的资源中,和beta2不同,资源文件都是建值对应的,所以在这里要指定一个key。

其中高亮部分是我为了做成控件把属性暴露了出去。这个属性就是你要变化到的颜色。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专业duilib使用+业余界面开发

Duilib技巧:背景图片平铺

2028
来自专栏源码之家

博看网杂志下载时批量更改图片大小

1202
来自专栏IMWeb前端团队

CSS3动画实现菜单特效

本文作者:IMWeb 寒纱阁主 原文出处:IMWeb社区 未经同意,禁止转载 制作了一个简单的菜单特效: ? 以下是HTML5代码: <!DOCTY...

2707
来自专栏小筱月

animate 动画滞后执行的解决方案

针对 jQuery 中 slideUp、slideDown、animate 等动画运用时出现的滞后反复执行等问题的解决方法有如下:

2451
来自专栏河湾欢儿的专栏

css3二倍图

比如以300200px 的图片举例:如果想让这张图片在 Retina 屏幕下达到应有的显示分辨率, 只需使用该照片的源文件导出一张清晰的 600400px 的...

1394
来自专栏AhDung

【手记】理想的网页列表效果

单纯用ul/ol的list-style-position是搞不掂的,inside是可以让整个列表区块与段落对齐,但会失去项间悬挂对齐效果;outside倒是悬挂...

1272
来自专栏无原型不设计

Mockplus:如何调整图标的大小和方向?

使用属性面板上的大小设置,可以很方便地调节图标大小。 ? 调整方向还是通过属性面板来完成: ? 另外:有些图标调整了大小之后可以用做特别的用途哟,比如 S...

2443
来自专栏韦弦的偶尔分享

微信小程序设置图片固定比例

有时我们的图片并不是同一个比例,但是我们需要设置图片保持一个固定的比例,在小程序里面因为宽度固定为750rpx,所以我们如果需要设置宽高比为2 : 1的话直接设...

6152
来自专栏无原型不设计

Mockplus实例之一看就会de五个交互功能

实例来源:豆瓣新加日记(https://www.douban.com/note/create) 先看看豆瓣新加日记的网页: ? 再看看已经制作好的原型预览...

4196
来自专栏vue学习

微信小程序日常踩坑后的总结(猜测你也会遇到,持续更新。。。)

(1)图片需是本地图片或者是路径为https的网络图片; (2)使用网络图片要用wx.downloadFile( )下载,否则真机上无法显示图片; (3)w...

1702

扫码关注云+社区