If you are using Xamarin.Forms V2.2.0-pre1, and you need to display different views for each page, you can use the derived class as follows:
public class CarouselViewMultiPage : CarouselView { List<View> _children = new List<View> { }; public List<View> Children { get { return _children; } set { _children = value; OnPropertyChanged(); } } public CarouselViewMultiPage () { this.ItemTemplate = new CarouselTemplateSelector(); this.ItemsSource = Children; this.SetBinding(CarouselView.ItemsSourceProperty, "Children"); BindingContext = this; } } public class CarouselTemplateSelector : DataTemplateSelector { protected override DataTemplate OnSelectTemplate(object item, BindableObject container) { DataTemplate dt = new DataTemplate(); View civ = (View)item; return new DataTemplate(() => { return civ; }); } }
so you can call it scrolling Views:
public App() { // The root page of your application MainPage = new ContentPage { Content = new CarouselViewMultiPage { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand, Children = { new Label() { Text="Page 1"}, new Label() { Text="Page 2"}, new Label() { Text="Page 3"}, } } }; }
source share