2
votes

Xamarin.Forms: la cellule de grille peut-elle inclure plusieurs étiquettes?

L'une des cellules de la grille ressemble à ceci:

<Label Text="{Binding Address1}" FontSize="12" TextColor="Black" Grid.Row="1" Grid.Column="0"/>

Ceci affiche Address1 qui est correcte.

Mais au lieu de simplement afficher Address1 , je voudrais afficher Address1 , City , St , chacun avec un FontSize code>.

Cela peut-il être fait sans modifier le nombre de lignes et de colonnes de la grille?


0 commentaires

3 Réponses :


0
votes

Bien sûr, vous utiliseriez:

<StackLayout Grid.Row="1" Grid.Column="0">
  <Label Text="l1"/>
  <Label Text="l2"/>
  <Label Text="l3"/>
</StackLayout>


0 commentaires

1
votes

Une façon est de placer un StackLayout sur la ligne Grid | colonne, puis de formater séparément chaque élément qu'il contient:

<Grid....
    ~~~
    <StackLayout Grid.Row="1" Grid.Column="0">
        <Label Text="{Binding Address1}" FontSize="12" TextColor="Black" />
        <StackLayout Orientation="Horizontal" >
            <Label Text="{Binding City}" FontSize="10" TextColor="Black" />
            <Label Text="{Binding St}" FontSize="10" TextColor="Black" />
        </StackLayout>
    <StackLayout>
    ~~~
</Grid>


0 commentaires

0
votes

Vous pouvez utiliser d'autres dispositions telles que StackLayout à l'intérieur de votre Grid comme d'autres l'ont suggéré, mais vous pouvez également placer plusieurs Vues dans une cellule Grid en définissant les mêmes Grid.Row et Grid.Column pour eux et en définissant les HorizontalOptions et VerticalOptions des vues à l'intérieur de la grille, vous pouvez choisir chaque position de vue.

Par exemple:

<Grid....
    ~~~
    <Label Grid.Row="0" Grid.Column="1" HorizontalOptions="Start" VerticalOptions="Start" Text="{Binding Address1}" FontSize="12" TextColor="Black" />
    <Label Grid.Row="0" Grid.Column="1" HorizontalOptions="Start" VerticalOptions="End" Text="{Binding City}" FontSize="10" TextColor="Black" />
    <Label Grid.Row="0" Grid.Column="1" HorizontalOptions="End" VerticalOptions="End" Text="{Binding St}" FontSize="10" TextColor="Black" />
    ~~~
</Grid>


0 commentaires