public Storyboard CreateMoveAnimation(UIElement animationTarget,Point sourcePoint,Point targetPoint,Duration duration) { //throw new NotImplementedException(); DoubleAnimation xda = new DoubleAnimation(),yda = new DoubleAnimation(); xda.From = sourcePoint.X; xda.To = targetPoint.X; yda.From = sourcePoint.Y; yda.To = targetPoint.Y; xda.Duration = yda.Duration = duration; //(animationTarget.Rendertransform).(Compositetransform.TranslateXProperty) Storyboard.SetTarget(xda,animationTarget); Storyboard.SetTargetProperty(xda,new PropertyPath("(UIElement.Rendertransform).(Compositetransform.TranslateX)")); Storyboard.SetTarget(yda,animationTarget); Storyboard.SetTargetProperty(yda,new PropertyPath("(UIElement.Rendertransform).(Compositetransform.TranslateY)")); Storyboard sb = new Storyboard(); sb.Children.Add(xda); sb.Children.Add(yda); sb.Begin(); return sb; }
请注意正确使用SetTargetProperty里面的new PropertyPath,如果设置不正确动画没发正常显示。
如果不敢肯定自己要移动的那个元素是否能使用这种PropertyPath,请现在Blend或者VS中手动拖动出一个动画,分析生成的XAML文件中TargetProperty属性的值,就知道应该怎么填了。
总结以上是内存溢出为你收集整理的Silverlight4.0中移动一个元素动画的后台代码全部内容,希望文章能够帮你解决Silverlight4.0中移动一个元素动画的后台代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)