用后台代码创建Storyboard-阿里云开发者社区

开发者社区> 风华圆舞> 正文

用后台代码创建Storyboard

简介:             string storyboardName = "MyStoryBoard";             string myXamlElement = "MyXamlElement";             int newLeftPosition = 120;             Storyboard sb = XamlReader.
+关注继续查看
            string storyboardName = "MyStoryBoard";
            
string myXamlElement = "MyXamlElement";
            
int newLeftPosition = 120;
            Storyboard sb 
= XamlReader.Load(String.Format(
            
@"<Storyboard xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"" x:Name=""{0}"">
                <DoubleAnimation Storyboard.TargetName=""{1}""
                Storyboard.TargetProperty=""(Canvas.Left)""
                To=""{2}"" Duration=""00:00:00.1200000""/>
                </Storyboard>
", storyboardName, myXamlElement, newLeftPosition)) as Storyboard;
            
//Add a delegate to remove the storyboard from resources as soon as it is finished. 
            sb.Completed += new EventHandler(sb_Completed);
            
//Add to the resources of the page 
            this.Resources.Add(sb);
            
//Begin the storyboard which will animate the element to the correct position. 
            sb.Begin();

在不少的应用中需要动态的创建动画作出一些复杂的效果。比如说当当拖拽元素是可以简单的用c#代码创建一个storyboard并在这个board中创建一个DoubleAnimation。但是用c#代码创建动画会导致runtime errors因为这还是silverlight的一个bug。但是用 xaml 并load他成为一个简单的storyboard。
xamlReader 对象有一个非常有用的Load()方法。
这里要提醒一点  创建Storyboard一定要把属性些完整了。 不要漏写了类似x:Name这样的属性。 若够漏写silverlight不会报任何错误。在调试时是直接跳出。
我就犯了这样的错误 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
用后台代码创建Storyboard
            string storyboardName = "MyStoryBoard";             string myXamlElement = "MyXamlElement";             int newLeftPosition = 120;             Storyboard sb = XamlReader.
621 0
(纯代码)快速创建wcf rest 服务
因为有一个小工具需要和其它的业务对接数据,所以就试一下看能不能弄一个无需配置快速对接的方法出来,百(以)度(讹)过(传)后(讹),最后还是对照wcf配置对象调试出来了: 1.创建WebHttpBinding 2.
876 0
c# 纯代码方式创建快捷方式
原文:c# 纯代码方式创建快捷方式 using System; using System.Collections.Generic; using System.Text; using Microsoft.
563 0
SAP LSMW 事务代码HUPAST的录屏后台执行报错 : Runtime error
SAP LSMW 事务代码HUPAST的录屏后台执行报错 - Runtime error RAISE_EXCEPTION has occurred - 之分析 因项目上成品库存管理启用了handling unit management功能,所以在库存初始化的时候,在MB1C+561导入库存之后,需要把库存转入923 storage type,然后使用HUPAST产生Handling Unit以打印HU 标签以及上架。
1618 0
+关注
风华圆舞
入行10年多的&ldquo;端&rdquo;开发者,经历了html、flash、SilverLight、ios、android等&ldquo;端&rdquo;上的开发技术。专注在大前端开发领域。
341
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载