Empiler le panneau ou la grille dont on est le plus conseillé
J'ai entendu dire que la Conception de l'INTERFACE utilisateur avec la Pile du panneau est plus promus que les Grilles. Est-il un fait présent. Je suis généralement à l'aide de la Grille pour la Conception de mon UI, récemment, dans un document que j'ai lu que la Grille consomme plus de temps pour le rendu plutôt que la pile du panneau ;; donc je suis très confus au sujet de ce.. Merci de me donner plus d'informations sur ce.. (Développement WP7)
source d'informationauteur Rakesh R Nair
Vous devez vous connecter pour publier un commentaire.
Dans un
Grid
les éléments peuvent être positionnés relativement à chacun des autres, d'être libre, généralement, de se déplacer (si le développeur veut le faire). UnGrid
ne pas appliquer le positionnement précis sauf s'il est explicitement spécifié. Dans unStackPanel
les contrôles sont évidemment, empilés. Donc, si dans unGrid
vous devez ajouter deux commandes en une seule séquence, ceux-ci vont se chevaucher. Dans unStackPanel
les contrôles seront placées l'une après l'autre, que ce soit horizontalement ou verticalement.Généralement, il n'y a pas de surcharge de performance quand il s'agit de choisir entre
Grid
ouStackPanel
. Un avantage de laGrid
de contrôle est qu'il est possible de définir de manière explicite les lignes et les colonnes, ce qui conduit finalement à la possibilité de créer des mises en page complexes. Chacun a sa place et ne sont généralement pas interchangeables.Grille et Stackpanel ont chacune leur place, cela dépend de votre INTERFACE utilisateur d'exigences. On dirait que vous êtes prématurément de l'optimisation.
Je voudrais mettre en œuvre le panneau qui répond le mieux au besoin et ensuite à vous soucier de la performance, plus tard, si c'est un problème.
Voulais juste commenter SteveChadbourne, mais vous ne savez pas comment le faire.
Voir http://www.codeproject.com/KB/showcase/WP7-Performance.aspx (MonthCalendar) pour un exemple d'une grille avec 126 éléments qui se charge en moins de 2 secondes. Si vous dites que votre 60 contrôles de la charge en 25 secondes, puis ce n'est pas la question du type d'emballage utilisé, mais de vos contrôles.
Dans de tels cas, bien sûr, l'INTERFACE utilisateur de la virtualisation aide. Mais en général, il devrait y avoir aucune différence importante entre la Grille et StackPanel. La grille devrait être un peu plus lent, mais la différence ne sera pas mesurable.
Il y a des choses plus importantes à optimiser - modèles, des fixations, etc. L'article mentionné ci-dessus décrit les démarches d'optimisation qui, par la suite abouti à 5x plus rapide MonthCalendar de contrôle. Les programmeurs utilisent à être surpris de voir comment inefficace avancée Silverlight tools.
Parlant de l'expérience récente, une zone de liste est la meilleure classe de conteneur à utiliser. Le principal avantage est la vitesse, car il utilise une virtualisation de la pile du panneau interne.
J'ai essayé les deux, une grille et une pile de panneau et les deux étaient 25 secondes pour afficher 60 commandes de l'utilisateur. Cette proportion est tombée à 10 secondes après je suis passé à la zone de liste.
Si vous avez besoin d'une extra positionnement, l'utilisation d'une grille à l'intérieur de chaque élément de la liste modèle.
Grille a l'option pour spécifier ligne ou d'une colonne d'index, de sorte que les éléments peuvent être commandés en conséquence.Donc, si vous avez besoin de plus d'options de personnalisation sur vos éléments de page , allez à la grille.Sinon, la pile du panneau est assez.La grille a ligne les définitions et les définitions des colonnes de sorte qu'il a plus d'objets que la pile du panneau.Jusqu'à mes tests , je ne vois pas de différence de performances qui peuvent être visibles à l'utilisateur final