【问题标题】:WPF Animation Callback Function [duplicate]WPF动画回调函数[重复]
【发布时间】:2013-11-26 23:44:11
【问题描述】:

是否可以将函数注册到动画结束时调用的 Animated Usercontroll?

我有一个 Usercontroll-Animation 我首先调用 .BeginAnimation(propdp, animation);

动画结束时如何调用另一个函数?

【问题讨论】:

  • 不幸的是,下面提到的用户投票结束了您的问题,因为他们错误地认为您的问题与问题顶部提到的帖子相同。我已经投票决定重新打开它,但需要更多的投票......来 StackOverflow 社区......请在这里看到一些意义并重新打开这个问题。
  • @Sheridan 也许您应该指出这个问题与其他问题的不同之处 - 特别是因为上述问题的答案恰好包含要使用的代码 sn-p。它甚至链接了与您相同的文档。
  • +1 @JeffRSon,您完全正确,我错误地查看了基于 Storyboard 的不同问题。我接受这个问题与链接的问题相同,并撤回我之前的评论。感谢您回来指出这一点。

标签: c# .net wpf


【解决方案1】:

您可以使用Timeline.Completed Event。您可以在 XAML 中设置它,也可以在 Storyboard 实例上的 C# 中设置它。链接页面有一个完整的工作示例,您可以查看。

使用的处理程序是默认的EventHandler delegate

private void StoryboardCompleted(object sender, EventArgs e)
{
    // the Storyboard has stopped
}

更新>>>

虽然Completed 事件可以在Storyboard 实例上设置,但它实际上是在Timeline 类中定义的。由于Timeline 是所有AnimationTimeline 类的基类,这意味着您还可以将处理程序附加到您传递给BeginAnimation 事件的AnimationTimeline 对象中的Completed 事件。

【讨论】:

  • 没有情节提要怎么办?我猜这个例子需要一个故事板的引用。
  • 在我创建之前没有找到我复制的帖子。对不起。无论如何,已完成的活动工作正常。也感谢 JeffRSon :)
【解决方案2】:

有一个animation.Completed 事件。

【讨论】:

  • 我必须在我的用户控件中覆盖什么功能才能使用它?
  • 没有函数必须被覆盖。您必须为动画的 Completed 事件设置处理程序。
猜你喜欢
  • 2013-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
  • 2015-04-27
  • 2012-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多