2009-01-16 26 views
11

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

Respuesta

18

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 se limite 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. He aquí un buen artículo sobre el DockPanel:

Using the DockPanel in Silverlight 2

-1

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

3

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.

1

Creo que The Grid 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.

1

no creo Grid es una idea mejor.

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

no exising fila es 1,2,3,4, entonces el requisito es insertar nueva fila entre 1 y 2.

luego había que cambiar a 2,3,4 3,4,5 (encontrar toda etiqueta de un cambio ....)

pensar Si una fila tiene 3 - 5 columnas ... ¡¡es un trabajo sucio reordenar todo lo digital !!!

0

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.

Cuestiones relacionadas