private void ScrollToCurrentItem()
        {
            if (Control.IsNullOrDisposed())
            {
                return;
            }

            if (Element.CurrentIndex == -1 || Control.GetAdapter() == null || Element.CurrentIndex >= Control.GetAdapter().ItemCount)
            {
                return;
            }

            InternalLogger.Info($"ScrollToCurrentItem() => CurrentItem: {Element.CurrentIndex}");

            int offset = 0;

            if (HorizontalLinearLayoutManager != null)
            {
                int itemWidth = PlatformHelper.Instance.DpToPixels(
                    Element.ItemWidth
                    + Element.ItemSpacing
                    + Element.CollectionPadding.HorizontalThickness);

                int width = Control.MeasuredWidth;

                switch (Element.SnapStyle)
                {
                case SnapStyle.Center:
                    offset = (width / 2) - (itemWidth / 2);
                    break;
                }
            }

            LinearLayoutManager?.ScrollToPositionWithOffset(Element.CurrentIndex, offset);
            GridLayoutManager?.ScrollToPositionWithOffset(Element.CurrentIndex, offset);
        }