多个Storyboard调用问题

xkjwzx 2011-04-28 04:21:48
假如要根据不同的需要调用不同的Storyboard!但是,在调用完一个Storyboard后又要根据需要调用另一个Storyboard。应该怎么实现?(注意:调用Storyboard时要按顺序演示,不能全部的Storyboard都一起演示,这样演示不出来)
...全文
517 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xkjwzx 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dianjihulian 的回复:]
你可以在storyborad执行完后调用另一个storyboard 比如 sb1.Completed+=注册方法 , 在注册方法里写你的下一个调用。。。
[/Quote]
这样就只能在每一个storyboard的Complete事件中接着开始下一个动画!但是,有的storyboard完成后,在其Complete事件中很难判断下一个storyboard是哪个(因为判断所需要的参数都没办法传到这个Complete事件中)。可要是在原来的地方判断就很方便,只是多个storyboard在同一个地方,执行的storyboard都重叠在一起了。
dianjihulian 2011-04-29
  • 打赏
  • 举报
回复
你可以在storyborad执行完后调用另一个storyboard 比如 sb1.Completed+=注册方法 , 在注册方法里写你的下一个调用。。。
xkjwzx 2011-04-29
  • 打赏
  • 举报
回复
多谢上面各位的帮助!
那些storyboard动画是什么时候才能开始运行的?好像都是等程序执行完之后才能看到运行。
沝林 2011-04-29
  • 打赏
  • 举报
回复
其他方式就只有代码控制了,参考

http://msdn.microsoft.com/zh-cn/library/cc189069(v=VS.95).aspx
xkjwzx 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 duanzilin 的回复:]
我试过没问题啊 ,假如你每个动画2秒,你第一个动画不等待,执行2秒,第2个动画等待2秒,执行2秒,第3个动画等待4秒,执行2秒,这样虽然每个动画都一起执行,但是看起来还是连贯的一个动画
[/Quote]
谢谢你的提醒!除了这种方法,有没有一种直接按照你调用的顺序来演示的方法,就像工作流一样!
沝林 2011-04-29
  • 打赏
  • 举报
回复
我试过没问题啊 ,假如你每个动画2秒,你第一个动画不等待,执行2秒,第2个动画等待2秒,执行2秒,第3个动画等待4秒,执行2秒,这样虽然每个动画都一起执行,但是看起来还是连贯的一个动画
xkjwzx 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 duanzilin 的回复:]
看清楚了BeginTime,BeginTime = "0:0:2" 那么这个动画前两秒就是静止的,在这静止的两秒让第一个动画执行完,不行么?
[/Quote]
我也希望这样!但是这个BeginTime=“0:0:2”,要在xaml文件中设置,还是在cs文件中设置(如s.BeginTime = TimeSpan.FromSeconds(2);但执行时连第一个storyboard都在等待了,看不到它执行,之后就只运行刚才动画s)
沝林 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xkjwzx 的回复:]
重叠在一起,就不能按顺序演示出来了!演示的顺序很混乱!
[/Quote]

看清楚了BeginTime,BeginTime = "0:0:2" 那么这个动画前两秒就是静止的,在这静止的两秒让第一个动画执行完,不行么?
xkjwzx 2011-04-29
  • 打赏
  • 举报
回复
重叠在一起,就不能按顺序演示出来了!演示的顺序很混乱!
沝林 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xkjwzx 的回复:]
引用 5 楼 dianjihulian 的回复:
...只是多个storyboard在同一个地方,执行的storyboard都重叠在一起了[/Quote]

你把每个storyboard的BeginTime设置不一样,让他们看起来是顺序执行的应该就可以了
比如第一个storyboard的BeginTime = "0:0:0" 运行时间是2秒 第二个是BeginTime = "0:0:2" 运行时间是4秒 第三个是BeginTime = "0:0:4" 运行时间是6秒....
xkjwzx 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jimmy_xiao0010 的回复:]
你的动画Storyboard 是cs代码写的还是前台页面嵌入的?
[/Quote]
我的动画Storyboard都是在xaml文件中作为resource的,现在要根据需要调用其中的任意一个Storyboard,并按顺序演示出来。
helloWorld1209 2011-04-28
  • 打赏
  • 举报
回复
你的动画Storyboard 是cs代码写的还是前台页面嵌入的?

如果是cs的话,第一个动画完事后写段代码判断在运行哪个动画呢
xkjwzx 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dingzongyinnihao 的回复:]
如果你是连起来的动画,你使用多个干嘛????
[/Quote]
是连起来的动画,但是我需要判断应该用哪一个动画!

  • 打赏
  • 举报
回复
如果你是连起来的动画,你使用多个干嘛????

你直接使用一个,假如1-2秒图片1移动,2-3秒,字体移动,3-5秒,加载文字,一个动画就可以搞定

如果你真使用很多个动画的时候,那你就要使用一个Timer时间控制器来搞定,当时间为多少秒,storyboard1.Begin();时间为下一秒,storyboard2.Begin()......

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧