1
votes

Simplifier une ligne Grid Xamarin Forms Xaml

Quelqu'un connaît-il un moyen plus simple de définir une grille à une ligne. J'ai ce qui suit:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="100"/>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Label Text="Tester:"/>
    <Entry Grid.Column="1" />
</Grid>

Difficile à expliquer mais en utilisant xamStrap pour mettre en page certains formulaires et en raison de l'encapsulation de la mise en page des étiquettes et des entrées, nous devons créer des Grilles actuellement pour l'appariement des étiquettes et des entrées. Avoir une grille pour chaque étiquette et entrée sur le formulaire crée des vues de contenu xaml vraiment horribles et volumineuses.

Y a-t-il un raccourci ou une meilleure façon de présenter cela en xaml?


2 commentaires

Avec l'utilisation d'une grille, pas vraiment, du moins pas en XAML. Vous pouvez toujours générer la grille par programme à l'aide d'une boucle. Vous pouvez également utiliser un CollectionView ... docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interfac‌ e /…


Ne pouvez-vous pas simplement utiliser un ListView ou le dernier CollectionView


3 Réponses :


0
votes

Vous pouvez utiliser un StackLayout / FlexLayout horizontal au lieu d'une grille. Si vous préférez la grille, vous pouvez également convertir cette vue en contrôle personnalisé pour raccourcir le code de ContentPage.


0 commentaires

0
votes

Vous devriez utiliser BindableLayouts pour simplifier votre XAML.

Quant aux éléments, vous pouvez réaliser avec Grid ou StackLayout. Je préférerais utiliser la grille, car vous avez plus de contrôle sur la taille des éléments.


0 commentaires

0
votes

Grid prend en charge l'organisation des vues en lignes et en colonnes:

    <Grid>


        <Grid.RowDefinitions>
            <RowDefinition Height="150" />
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

         <Label
            Grid.Row="2"
            Grid.Column="0"
            Text="Test"
            TextColor="White"
            VerticalTextAlignment="End" />

         </Grid>


0 commentaires