Шаблон элемента для gridview в форматах Xamarin?

Я хочу использовать шаблон элемента внутри gridview, так что все дочерние элементы выглядят одинаково, это будет возможно? Или есть какая-то работа для того же, в Xamarin Forms.

Вот мой шаблон элемента.

               <FlexLayout
                    Grid.Row="0" Grid.Column="0"
                    HorizontalOptions="CenterAndExpand"
                    VerticalOptions="CenterAndExpand"
                    Direction="Column" AlignContent="Center"
                    MinimumHeightRequest="110"
                    WidthRequest="90"
                    >
                    <Button BorderColor="#fff"
                        BorderWidth="1"
                        BackgroundColor="#4D000000"
                        HeightRequest="90" CornerRadius="45"
                        Image="vera"/>

                    <Label Text="Chat" 
                        Margin="0,4,0,0"
                        HeightRequest="20"
                        FontSize="9" 
                        HorizontalTextAlignment="Center" 
                        HorizontalOptions="CenterAndExpand"/>

                </FlexLayout>
0
задан Aritra Das 13 August 2018 в 11:28
поделиться

2 ответа

Вам просто нужно добавить макет в определение Grid. Теперь, если вам нужен динамический контент, вам просто нужно привязать нужные свойства. Это неверно, потому что нет определения для строк и т. Д., Но вам просто нужно определить, что вы хотите динамически по коду и добавить строки и столбцы соответственно

<Grid>
    <Grid.RowDefinitions>
        //"Here you define your rows"
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        //"Here you define your columns"
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    //"Here you define your desired template"
    <FlexLayout                    
                HorizontalOptions="CenterAndExpand"
                VerticalOptions="CenterAndExpand"
                Direction="Column" AlignContent="Center"
                MinimumHeightRequest="110"
                WidthRequest="90"
                >
                <Button BorderColor="#fff"
                    BorderWidth="1"
                    BackgroundColor="#4D000000"
                    HeightRequest="90" CornerRadius="45"
                    Image="vera"/>

                <Label Text="Chat" 
                    Margin="0,4,0,0"
                    HeightRequest="20"
                    FontSize="9" 
                    HorizontalTextAlignment="Center" 
                    HorizontalOptions="CenterAndExpand"/>

     </FlexLayout>
</Grid>
0
ответ дан Andre Motta 15 August 2018 в 14:03
поделиться

Почему вы не используете Listview?

<ListView Grid.Row="0" Grid.Column="0" ItemSource="{Binding ListOfItem}">
<ListView.ItemTemplate>
<DateTemplate>
<ViewCell>
<FlexLayout   
                    HorizontalOptions="CenterAndExpand"
                    VerticalOptions="CenterAndExpand"
                    Direction="Column" AlignContent="Center"
                    MinimumHeightRequest="110"
                    WidthRequest="90">
                    <Button BorderColor="#fff" Command="{Binding ButtonCommand}"
                        BorderWidth="1"
                        BackgroundColor="#4D000000"
                        HeightRequest="90" CornerRadius="45"
                        Image="vera"/>

                    <Label Text="{Binding Text}" 
                        Margin="0,4,0,0"
                        HeightRequest="20"
                        FontSize="9" 
                        HorizontalTextAlignment="Center" 
                        HorizontalOptions="CenterAndExpand"/>
</FlexLayout>
<ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

Как ItemSource создайте объект, который содержит свойство Command для вашей кнопки и String для вашего имени, и создайте список этих объектов.

0
ответ дан Woj 15 August 2018 в 14:03
поделиться
Другие вопросы по тегам: