Example #1
0
        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;
        }