WPF storyboard的complete事件存在延迟

636f6c696e 2011-01-21 05:31:16
测试代码如下:
private void DoAnimation()
{
Storyboard st1 = new Storyboard();
DoubleAnimation da = new DoubleAnimation();
da.Completed += new EventHandler(StComplete);
Storyboard.SetTargetName(da, SubCanvas.Name);
Storyboard.SetTargetProperty(da, new PropertyPath(Canvas.TopProperty));
st1.Children.Add(da);

da.From = 0;
da.To = 200;
da.Duration = TimeSpan.FromMilliseconds(2000);
da.AccelerationRatio = 1;
da.DecelerationRatio = 0;

st1.Begin(SubCanvas, HandoffBehavior.Compose, true);
}

private void StComplete(object sender, EventArgs e)
{
Thread.Sleep(1000);
}

执行后发现动画执行到结尾时还没结束就开始sleep(1000),在sleep(1000)后结束动画。
如何解决这种延迟问题?
(此时参数是正确的,但动画没有“刷新”)
或者有没有什么其他的方法能做到动画做完后执行一段代码,谢谢
...全文
322 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujianfei2851 2012-09-24
  • 打赏
  • 举报
回复
啊,我也发现了楼主的这个问题!太纠结了。。。。
最好是能有动画播放结束后才执行逻辑的方法,哪位大侠能解答!!关注中!
colinfc 2011-01-25
  • 打赏
  • 举报
回复
多开个线程来做
636f6c696e 2011-01-24
  • 打赏
  • 举报
回复
自己顶一下没人知道么

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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