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); }