如何让WPF控制动画在从视觉树中删除之前完成

如何让WPF控制动画在从视觉树中删除之前完成,wpf,animation,controls,Wpf,Animation,Controls,我有一个场景,在将WPF控件从视觉/逻辑树中移除之前,我希望对其设置动画。控件是自定义的,并且控件样式(包括动画)将由设计师提供(即,我不知道在编写控件代码时它们的详细信息)。我想提供路由事件,允许设计师在移除对象之前触发动画(例如,用户用鼠标拖动控件,释放鼠标按钮时,控件可能会慢慢淡出,而不是突然从视觉/逻辑树中移除)。仅使用路由事件就可以做到这一点吗?是否可以检测动画何时完成,而无需设计者设置奇怪的依赖属性,或者在动画结束时触发控件的移除?如果设计器未能设置依赖项属性,则使用依赖项属性将导致

我有一个场景,在将WPF控件从视觉/逻辑树中移除之前,我希望对其设置动画。控件是自定义的,并且控件样式(包括动画)将由设计师提供(即,我不知道在编写控件代码时它们的详细信息)。我想提供路由事件,允许设计师在移除对象之前触发动画(例如,用户用鼠标拖动控件,释放鼠标按钮时,控件可能会慢慢淡出,而不是突然从视觉/逻辑树中移除)。仅使用路由事件就可以做到这一点吗?是否可以检测动画何时完成,而无需设计者设置奇怪的依赖属性,或者在动画结束时触发控件的移除?如果设计器未能设置依赖项属性,则使用依赖项属性将导致内存泄漏。有更好的方法吗?

每个故事板都有一个完成的事件,在动画完成时调用该事件。您应该处理该事件并从该事件中删除控件。这样,您就可以在释放鼠标按钮时启动动画。

在不知道故事板名称的情况下,如何处理已完成的事件?(我假设控件是由设计师模板化的,可能包含也可能不包含任何动画)。处理已完成事件是唯一的方法吗?