Как сделать просмотр карусели в формах Xamarin.У меня есть страница-заставка после страницы-заставки, мне нужно показать страницу с четырьмя инструкциями с точечным индикатором внизу страницы.У каждой страницы свое изображение, текст.Я пытался, но не смог получить это.Вот мой код:
public Carousel(ObservableCollection<CarouselContent> pages)
{
HorizontalOptions = LayoutOptions.FillAndExpand;
HorizontalOptions = LayoutOptions.FillAndExpand;
carousel = new CarouselView();
carousel.HorizontalOptions = LayoutOptions.FillAndExpand;
carousel.VerticalOptions = LayoutOptions.FillAndExpand;
var template = new DataTemplate(() => {
var page1 = new AbsoluteLayout();
page1.BackgroundColor = Color.FromHex("050C29");
page1.HorizontalOptions = LayoutOptions.FillAndExpand;
page1.VerticalOptions = LayoutOptions.FillAndExpand;
page1.SetBinding(AbsoluteLayout.BackgroundColorProperty, "BackgroundColor");
var image = new Image();
image.SetBinding(Image.SourceProperty, "Image");
image.HorizontalOptions = LayoutOptions.FillAndExpand;
image.VerticalOptions = LayoutOptions.Center;
var lab = new Label()
{
FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)) + 10,
FontAttributes = FontAttributes.Bold
};
lab.TextColor = Color.White;
lab.HorizontalOptions = LayoutOptions.Center;
lab.VerticalOptions = LayoutOptions.Center;
lab.FontFamily = "BrandonGrotesque-Bold.otf";
lab.FontSize = 30;
lab.SetBinding(Label.TextProperty, "Header");
var lab2 = new Label()
{
FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label))
};
lab2.TextColor = Color.White;
lab2.HorizontalOptions = LayoutOptions.Center;
lab2.VerticalOptions = LayoutOptions.Center;
lab.FontFamily = "BrandonGrotesque-Bold.otf";
lab.FontSize = 24;
lab2.SetBinding(Label.TextProperty, "Content1");
page1.Children.Add(image);
page1.Children.Add(lab);
page1.Children.Add(lab2);
StackLayout stackLayout = new StackLayout();
stackLayout.Children.Add(page1);
AbsoluteLayout.SetLayoutBounds(image, new Rectangle(2, 0, 1, 0));
AbsoluteLayout.SetLayoutFlags(image, AbsoluteLayoutFlags.All);
AbsoluteLayout.SetLayoutBounds(lab, new Rectangle(0, 0.3, 1, 0.2));
AbsoluteLayout.SetLayoutFlags(lab, AbsoluteLayoutFlags.All);
AbsoluteLayout.SetLayoutBounds(lab2, new Rectangle(0, 0.4, 1, 0.2));
AbsoluteLayout.SetLayoutFlags(lab2, AbsoluteLayoutFlags.All);
return page1;
});
carousel.ItemsSource = pages;
carousel.ItemTemplate = template;
carousel.PositionSelected += pageChanged;
Children.Add(carousel);
}