我想从我的代码后台开始在特定的UIElement
上执行动画,当动画结束时,我想在该UIElement
上进行其他处理。 我有困难弄清如何将我作为动画完成事件的发送方接收到的AnimationClock
对象转换为执行动画的UIElement
对象。
以下是我用于构建和启动动画的代码:
DoubleAnimation FadeOutAnim = new DoubleAnimation(1, 0, TimeSpan.FromSeconds(.5));
FadeOutAnim.Completed += new EventHandler(FadeOutAnim_Completed);
UIElement element = lstMessages.ItemContainerGenerator.ContainerFromItem(sender) as UIElement;
if(element != null)
element.BeginAnimation(UIElement.OpacityProperty, FadeOutAnim);
以下是我完成事件,我想再次访问UIElement
。
void FadeOutAnim_Completed(object sender, EventArgs e)
{
UIElement animation = sender; //This is an AnimationClock and I can't seem to figure out how to get my UIElement back.
}
任何帮助都将不胜感激。