public override void UpdateItemsSource() { UnsubscribeCollectionItemsSourceChanged(ItemsSource); base.UpdateItemsSource(); //we don't need to Subscribe because base calls CreateItemsViewSource _carouselViewLoopManager?.SetItemsSource(LoopItemsSource); if (_initialPositionSet) { Carousel.SetValueFromRenderer(CarouselView.CurrentItemProperty, null); Carousel.SetValueFromRenderer(CarouselView.PositionProperty, 0); } _initialPositionSet = false; UpdateInitialPosition(); }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _disposed = true; _carouselViewLoopManager?.SetItemsSource(null); _carouselViewLoopManager = null; if (_itemDecoration != null) { _itemDecoration.Dispose(); _itemDecoration = null; } ClearLayoutListener(); } base.Dispose(disposing); }
public override void UpdateItemsSource() { UpdateAdapter(); UpdateEmptyView(); _carouselViewLoopManager.SetItemsSource(ItemsViewAdapter.ItemsSource); }