public CarouselViewModel(CarouselXamlSampleType type, bool loop, int initialItems = 5, int startCurrentItem = -1) { IsLoop = loop; _type = type; var items = new List <CarouselItem>(); for (int i = 0; i < initialItems; i++) { switch (_type) { case CarouselXamlSampleType.Peek: items.Add(new CarouselItem(i, "cardBackground.png")); break; default: items.Add(new CarouselItem(i)); break; } } MessagingCenter.Subscribe <ExampleTemplateCarousel>(this, "remove", (obj) => Items.Remove(obj.BindingContext as CarouselItem)); Items = new ObservableCollection <CarouselItem>(items); Count = Items.Count - 1; if (startCurrentItem != -1) { Selected = Items[startCurrentItem]; } }
public CarouselViewModel(CarouselXamlSampleType type, int initialItems = 5) { _type = type; var items = new List <CarouselItem>(); for (int i = 0; i < initialItems; i++) { switch (_type) { case CarouselXamlSampleType.Peek: items.Add(new CarouselItem(i, "cardBackground")); break; default: items.Add(new CarouselItem(i)); break; } } MessagingCenter.Subscribe <ExampleTemplateCarousel>(this, "remove", (obj) => Items.Remove(obj.BindingContext as CarouselItem)); Items = new ObservableCollection <CarouselItem>(items); Items.CollectionChanged += ItemsCollectionChanged; Count = Items.Count - 1; }