DoubleAnimation方法

现在silverlight中还不支持直接用c#代码来创建动画,只能通过XamlReader来加载storyboard。

今天看了DoubleAnimation这个方法。可以动态的设置属性。   这里就很奇怪。我动态的new出来的巨型一直不发生变化。而直接在舞台上画出的巨型就能发生变化。

研究了好久才发现DoubleAnimation只能操作已经声明过的属性。

 <Rectangle Width="46" Height="41" Fill="#FFA74545" Stroke="#FF000000" Canvas.Left="154" 
 Canvas.Top="262" x:Name="ox" RenderTransformOrigin="0.5,0.5">
  <Rectangle.RenderTransform>
 <TransformGroup>
 <ScaleTransform ScaleX="1" ScaleY="1"/>
 <SkewTransform AngleX="0" AngleY="0"/>
 <RotateTransform Angle="34.744"/>
 <TranslateTransform X="0" Y="0"/>
 </TransformGroup>
 </Rectangle.RenderTransform>
 </Rectangle>
 private const string ANIMATION = "<Storyboard Name=\"TestStoryboard\">"
 + "<DoubleAnimation"
 + "  Storyboard.TargetName=\"ox\""
 + "  Storyboard.TargetProperty=\"(UIElement.RenderTransform).
 (TransformGroup.Children)[3].(TranslateTransform.X)\""
 + "  From=\"0\" To=\"100\" Duration=\"0:0:5\" />"
 + "</Storyboard>";
            Storyboard storyboard = XamlReader.Load(ANIMATION) as Storyboard;
 this.Resources.Add(storyboard);
             storyboard.Begin();

这里<Rectangle.RenderTransform>是必须要的。多一行少一行都不行。不然就不会产生动画。

目前对“ Storyboard.TargetProperty”这个属性还不是很明白。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hightopo

原 荐 基于 HTML5 Canvas 的交

22140
来自专栏前端知识分享

Web前端面试宝典(最新)

html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;

45530
来自专栏我有一个梦想

ClistCtrl用法及总结(由怎样隐藏ListCtrl列表头的排序小三角形这个bug学习到的知识)

1 怎样隐藏ListCtrl列表头的排序小三角形 在创建控件是加入|LVS_NOSORTHEADER风格即可。 一下是用法总结: 本文根据本人在项目中的应用,来...

35250
来自专栏MasiMaro 的技术博文

windows编程学习笔记(三)ListBox的使用方法

ListBox是Windows中的一种控件,一般被当做子窗口使用,Windows中所有子窗口都是通过发送一个通知码到父窗口父窗口通过WM_COMMAND消息接收...

13020
来自专栏hightopo

原 基于HTML5 Canvas 点击添加

16240
来自专栏前端知识分享

Vue---父子组件之间的通信

  在vue组件通信中其中最常见通信方式就是父子组件之中的通信,而父子组件的设定方式在不同情况下又各有不同。最常见的就是父组件为控制组件子组件为视图组件。父组件...

10520
来自专栏HT

基于HTML5 Canvas 点击添加 2D 3D 机柜模型

今天又返回好好地消化了一下我们的数据容器 DataModel,这里给新手做一个典型的数据模型事件处理的例子作为参考。这个例子看起来很简单,实际上结合了数据模型中...

28480
来自专栏Android群英传

onTouchEvent(二) 使用Scroller实现黏性滑动的ScrollView

9630
来自专栏前端说吧

Vue-自定义事件之—— 子组件修改父组件的值

37350
来自专栏QQ音乐前端团队专栏

前端水印生成方案

安全问题不能大意,对于一些比较敏感的内容,我们可以通过组合使用上述的水印方案,这样才能最大程度给浏览者警示的作用,减少泄密的情况,即使泄密了,也有可能追踪到泄密...

1.9K40

扫码关注云+社区

领取腾讯云代金券