windows-phone-7 – 如何同时为两个轴(X,Y)翻译动画?
发布时间:2020-12-14 05:36:07 所属栏目:Windows 来源:网络整理
导读:我在Storyboard方法中做了类似的事情,但无法达到预期的效果.这个动画我想在页面加载后播放. private void PhoneApplicationPage_Loaded(object sender,RoutedEventArgs e) { CreateTranslateAnimation(image1); } private void CreateTranslateAnimation(UIE
我在Storyboard方法中做了类似的事情,但无法达到预期的效果.这个动画我想在页面加载后播放.
private void PhoneApplicationPage_Loaded(object sender,RoutedEventArgs e) { CreateTranslateAnimation(image1); } private void CreateTranslateAnimation(UIElement source) { Storyboard sb = new Storyboard(); DoubleAnimationUsingKeyFrames animationFirstX = new DoubleAnimationUsingKeyFrames(); source.RenderTransform = new CompositeTransform(); Storyboard.SetTargetProperty(animationFirstX,new PropertyPath(CompositeTransform.TranslateXProperty)); Storyboard.SetTarget(animationFirstX,source.RenderTransform); animationFirstX.KeyFrames.Add(new EasingDoubleKeyFrame() { KeyTime = kt1,Value = 20 }); DoubleAnimationUsingKeyFrames animationFirstY = new DoubleAnimationUsingKeyFrames(); source.RenderTransform = new CompositeTransform(); Storyboard.SetTargetProperty(animationFirstY,new PropertyPath(CompositeTransform.TranslateYProperty)); Storyboard.SetTarget(animationFirstY,source.RenderTransform); animationFirstY.KeyFrames.Add(new EasingDoubleKeyFrame() { KeyTime = kt1,Value = 30 }); sb.Children.Add(animationFirstX); sb.Children.Add(animationFirstY); sb.Begin(); } 缩短它… 我想编写与此代码等效的.cs代码 <Storyboard x:Name="Storyboard1"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="image1"> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="20"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="image1"> <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="30"/> </DoubleAnimationUsingKeyFrames> </Storyboard> 解决方法
您正在设置source.RenderTransform两次.第一个变换动画引用了一个CompositeTransform对象,该对象在动画运行时已从UIElement中删除.
摆脱第二个来源.RenderTransform = new CompositeTransform();你应该得到更好的结果. “剪切和粘贴的来源是很多编码邪恶的来源”:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ?使用Windows Server进行RADIUS身份验证
- 命令行 – 有没有办法在Windows Scripting Host(WSH)cscrip
- 是否可以使用R命令在Windows上安装pandoc?
- 在Windows中从Java代码运行Maven?
- windows-server-2008 – Server 2008 Web Edition限制
- windows – 什么是域控制器,何时需要,以及如何设置它?
- Windows Server 2016-Hyper-V网络虚拟化概述
- windows-7 – Windows 10上的ISCSI性能降低
- windows-8 – Windows 8调度程序中Command命令参数的最大长
- windows – 在gvim的新选项卡中打开文件
推荐文章
站长推荐
- windows – 调整CMD窗口的大小
- windows – 如何在WinDbg中列出线程(内核调试)
- .net – Windows 8是否支持System.Device.Locati
- windows – 在本地和非现场备份系统
- windows-phone-7 – 用于Windows手机开发的64位与
- active-directory – ADFS OpenID Connect电子邮
- windows-server-2008 – 同一网络上的两台DHCP服
- Windows下使用service.bat安装tomcat服务, 启动停
- windows – CMake / CPack可以为单个项目生成多个
- 在Windows环境中进行部署
热点阅读