WPF Grid contre Stackpanel
Pour WPF/Silverlight mise en page, est-il préférable d'utiliser une Grille avec beaucoup de lignes et de colonnes, ou des tonnes de Stackpanels?
source d'informationauteur NotDan
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser une Grille si vous avez besoin de choses pour aligner horizontalement et verticalement. L'utilisation d'un StackPanel pour créer une ligne ou une colonne de choses quand les choses n'ont pas besoin de ligne de quoi que ce soit d'autre.
Cependant, ne vous limitez pas à ces deux options. En particulier, avoir un regard sur le DockPanel. C'est un peu plus complexe qu'un StackPanel, mais son marquage n'est pas aussi encombré que la Grille. Voici un bon article sur la DockPanel:
À l'aide de la DockPanel dans Silverlight 2
Le récipient que vous utilisez doit être fondée sur le contenu et non pas de savoir si une approche est meilleure que l'autre. Si vous avez besoin de choses à la ligne à la fois horizontalement et verticalement, vous devriez vraiment utiliser une grille. Mais pour le reste, cela dépend vraiment sur le contenu que vous voulez l'afficher.
Je pense que la Grille est une meilleure idée. J'ai l'habitude de définir la mise en page avec une Grille et d'utiliser quelques stackpanels ici et là pour faire des choses spécifiques. J'ai aussi un sentiment que les performances sont meilleures avec des Grilles et des Grilles généralement vous donner une plus grande souplesse.
Je ne pense pas que la Grille est une meilleure idée.
par exemple , si vous souhaitez insérer une ligne de Grille de mise en page du document (dans le milieu)
n'existant ligne est 1,2,3,4 , l'obligation d'insérer une nouvelle ligne entre 1 et 2.
alors vous avez dû changer 2,3,4 à 3,4,5 (trouver tous les tag d'un changement....)
pense que si une ligne a 3 - 5 colonnes... c'est un sale boulot pour réorganiser tout numérique.!!!
Je préfère le StackPanel, car je le trouve plus facile de faire des changements lors de l'insertion de nouveaux éléments, des lignes ou des colonnes. Avec une grille, vous avez besoin de lire les numéros de ligne et de colonne des numéros de savoir où vous êtes. Avec un StackPanel vous suffit de suivre la nidification, il est plus facile et moins salissant qu'une grille.
Par exemple, dans une page XAML, j'utilise une pile horizontale panneau comme un parent de la grille, puis si j'ai besoin d'une colonne, j'ai un "vertical" stackpanel imbriqués. De cette façon horizontale stackpanel devient une "grille" et imbriquées verticale StackPanel de devenir les colonnes. Je trouve cela plus facile à lire et modifier des lignes et des colonnes dans une grille.
Je n'ai aucune expérience avec ce genre de mise en page, mais je parie que la grille est plus facile à rendre par rapport à beaucoup de imbriquée stackpanels.