У меня есть карусель в моем представлении xamarin. Карусель внутри представления сетки. А также у меня есть кнопка, но проблема в том, что кнопка не находится в правильном месте. Я хочу поместить кнопку регистрации littlebit вверху и на всю ширину.
<ContentPage xmlns = "http://xamarin.com/schemas/2014/forms"
xmlns:x = "http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local = "clr-namespace:InfutureMob"
x:Class = "InfutureMob.MainPage"
xmlns:cv = "clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.CarouselView">
<Grid RowSpacing = "0" Grid.RowSpan = "2">
<!--<Grid.RowDefinitions>
<RowDefinition Height = ".3*"/>
<RowDefinition Height = ".7*"/>
</Grid.RowDefinitions>-->
<Grid.RowDefinitions>
<RowDefinition Height = "5*"/>
<RowDefinition Height = "*"/>
<RowDefinition Height = "5*"/>
</Grid.RowDefinitions>
<cv:CarouselView ItemsSource = "{Binding Zoos}" x:Name = "CarouselImages" >
<cv:CarouselView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height = "*"/>
<RowDefinition Height = "Auto"/>
</Grid.RowDefinitions>
<Image Grid.RowSpan = "2" Aspect = "AspectFill" Source = "{Binding ImageUrl}"/>
<StackLayout Grid.Row = "1" BackgroundColor = "#80000000" Padding = "12">
<Label TextColor = "White" Text = "{Binding Name}" FontSize = "16" HorizontalOptions = "Center" VerticalOptions = "CenterAndExpand"/>
</StackLayout>
</Grid>
</DataTemplate>
</cv:CarouselView.ItemTemplate>
</cv:CarouselView>
<StackLayout Orientation = "Horizontal" HorizontalOptions = "StartAndExpand" Margin = "20,20,20,0" Grid.Row = "2">
<Button Text = "Register" BackgroundColor = "#3897f0" TextColor = "White" HeightRequest = "50" VerticalOptions = "Start" />
</StackLayout>
</Grid></ContentPage>
Особняком стоит несколько вещей ... Сначала вы определяете 3 строки для своей сетки, но StackLayout, содержащий кнопку, находится в Grid.Row = "2", который должен быть 1, если он должен находиться под каруселью. (Лучше всего для удобочитаемости укажите Grid.Row = "0" в карусели)
Во-вторых, вам не нужно оборачивать кнопку StackLayout и помещать HorizontalOptions в FillAndExpand, чтобы кнопка заполнила весь размер сетки.