Xamarin формирует кнопку с Gridview - PullRequest
0 голосов
/ 02 мая 2018

У меня есть карусель в моем представлении xamarin. Карусель в виде сетки. И также у меня есть кнопка, но проблема в том, что кнопка не пришла в правильное место. Я хочу поставить маленькую битовую кнопку регистрации сверху и на полную ширину.

Вот мой взгляд enter image description here

Мой код

<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>

1 Ответ

0 голосов
/ 02 мая 2018

Несколько вещей выделяются ... Во-первых, вы определяете 3 строки для вашей сетки, но StackLayout, который содержит Button, находится в Grid.Row = "2", это должно быть 1, если оно должно быть под каруселью. (Лучше всего для удобства чтения поместите Grid.Row = "0" на Карусель)

Во-вторых, вам не нужно оборачивать кнопку StackLayout и помещать HorizontalOptions в FillAndExpand для кнопки, чтобы заполнить весь размер сетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...