private async Task UpdateStoryboard()
        {
            if (_updating)
            {
                return;
            }
            _updating        = true;
            IsHitTestVisible = false;
            await Task.Yield();

            ColumnFirst.BeginAnimation(HeightProperty, AnimateTo(GetTranslateValue(0)));
            TransformSecond.BeginAnimation(TranslateTransform.XProperty, AnimateTo(GetTranslateValue(1)));
            TransformThird.BeginAnimation(TranslateTransform.XProperty, AnimateTo(GetTranslateValue(2)));
            _updating = false;
            await Task.Delay(200);

            IsHitTestVisible = true;
        }
        private void UpdateColumnsLayout()
        {
            if (_lastWidth != ActualWidth)
            {
                _lastWidth         = ActualWidth;
                _sectionSize       = _lastWidth / 3d;
                ColumnFirst.Width  = _lastWidth;
                ColumnSecond.Width = _sectionSize;
                ColumnThird.Width  = _sectionSize;

                ColumnFirst.BeginAnimation(HeightProperty, null);
                ColumnFirst.Height = GetTranslateValue(0);

                TransformSecond.BeginAnimation(TranslateTransform.XProperty, null);
                TransformThird.BeginAnimation(TranslateTransform.XProperty, null);
                TransformSecond.X = GetTranslateValue(1);
                TransformThird.X  = GetTranslateValue(2);
            }
        }