Исходя из моего кода, я хочу запустить анимацию для определенного UIElement
, когда эта анимация заканчивается, я бы хотел выполнить некоторую другую обработку для этого UIElement
.У меня возникают проблемы с выяснением того, как преобразовать объект AnimationClock
, который я получаю в качестве отправителя события Animation Completed, в объект 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);
А вот мое событие Completed, где я хочу снова получить доступ к 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.
}
Любая помощь будет принята с благодарностью.