Exemple #1
0
        internal async Task GotoChildSlide(BSCarouselItem item)
        {
            _transitionTimer?.Stop();
            var slide = Children.IndexOf(item);

            if (ClickLocked)
            {
                Callback.Add(item);
                return;
            }
            if (!Children.Contains(item))
            {
                return;
            }

            var back = slide < _active;

            if (slide == _active)
            {
                return;
            }
            ClickLocked = true;
            _last       = _active;
            _active     = slide;
            await Children[_last].InternalHide();
            await Children[_active].InternalShow();

            await DoAnimations(back);

            await InvokeAsync(() => { _indicatorsRef?.Refresh(Children.Count, _active); });

            ResetTransitionTimer(Children[_active].Interval);
        }
 public IDisposable RegisterChangeCallback(Action <object> callback, object state)
 {
     Callback.Add(callback);
     return(null);
 }