wpf silverlight grid stackpanel

WPF Grid vs Stackpanel



silverlight (6)

Creo que la Grilla es una mejor idea. Normalmente configuro el diseño general con una Grilla y uso algunos paneles de distribución aquí y allá para hacer algunas cosas específicas. También tengo la sensación de que el rendimiento es mejor con Grids y que las Grid generalmente te dan más flexibilidad.

Para el diseño de WPF / Silverlight, ¿es mejor usar una cuadrícula con muchas filas y columnas, o toneladas de paneles de pila?


El contenedor que usa debe basarse en el contenido y no si un enfoque es mejor que otro. Si necesita que las cosas se alineen tanto horizontal como verticalmente, realmente debería usar una grilla. Pero aparte de eso, realmente depende del contenido que pretendes mostrar.


No tengo experiencia con un diseño como ese, pero apostaré a que la cuadrícula es más fácil de renderizar en comparación con muchos paneles de distribución anidados.


No creo que Grid sea una mejor idea.

por ejemplo, si desea insertar una fila en el documento de diseño de cuadrícula existente (en el medio)

existe una fila es 1,2,3,4, entonces el requisito es insertar una nueva fila entre 1 y 2.

luego tuviste que cambiar 2,3,4 a 3,4,5 (encontrar todas las etiquetas un cambio ...)

piense si una fila tiene de 3 a 5 columnas ... ¡¡es un trabajo sucio reordenar todo lo digital !!!


Prefiero el StackPanel porque me resulta más fácil realizar cambios al insertar nuevos elementos, filas o columnas. Con una cuadrícula, necesita leer los números de las filas y las columnas para saber dónde se encuentra. Con un StackPanel simplemente sigue la anidación, esto es más fácil y menos desordenado que una grilla.

Por ejemplo, en una página XAML, utilizo un panel de pila horizontal como una cuadrícula principal, luego, si necesito una columna, tengo un panel de pila "vertical" separado anidado. De esta forma, un panel de distribución horizontal se convierte en una "cuadrícula" y los paneles verticales apilados se convierten en columnas. Encuentro esto más fácil de leer y modificar esas filas y columnas en una grilla.


Debe usar una cuadrícula si necesita que las cosas se alineen horizontal y verticalmente. Use un StackPanel para crear una fila o columna de cosas cuando esas cosas no necesitan alinearse con ninguna otra cosa.

Sin embargo, no te limites a esas dos opciones. En particular, eche un vistazo al DockPanel. Es un poco más complejo que un StackPanel, pero su marcado no está tan desordenado como el Grid. Aquí hay un buen artículo sobre DockPanel:

Usando DockPanel en Silverlight 2