void VertexAnimation_Completed(object sender, EventArgs e) { if (sender is ClockGroup) { return; } var control = (IGraphControl)Storyboard.GetTarget((sender as AnimationClock).Timeline); if (!VertexStorage.ContainsKey(control)) { return; //just in case of... who knows what? } control.SetPosition(VertexStorage[control], false); VertexStorage.Remove(control); var story = CreateStory(control, 0, 1, null); story.Completed += story_Completed; story.Begin(control as Control, HandoffBehavior.Compose); }