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?
3 Réponses :
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.
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.
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>
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 dernierCollectionView