private void Control_AnimationFrameItem_AnimationFrameItemUpdated(object sender, AnimationFrame frame)
        {
            if (frame == null)
            {
                gridTrackItems.Children.Remove(sender as Control_AnimationFrameItem);

                UpdateAnimationTrack();
            }
            else
            {
                AnimationTrackUpdated?.Invoke(this, ContextTrack);
            }

            //UpdateAnimationTrack();
            //UpdateControls();
        }
        private void UpdateAnimationTrack()
        {
            ContextTrack.Clear();

            foreach (var child in gridTrackItems.Children)
            {
                if (child is Control_AnimationFrameItem)
                {
                    Control_AnimationFrameItem item = (child as Control_AnimationFrameItem);

                    if (item.ContextFrame != null)
                    {
                        ContextTrack.SetFrame(ConvertToTime(item.Margin.Left, ContextTrack.GetShift()), item.ContextFrame);
                    }
                }
            }

            AnimationTrackUpdated?.Invoke(this, ContextTrack);
        }