2010-03-15 6 views
5

Visto varios ejemplos de aplicaciones WPF He visto el uso del control Grid para casi cualquier cosa, incluso las más simples con solo 1 columna o fila.WPF: ¿Por qué todo el amor por el control de Grid?

Además, las plantillas WPF comienzan con una cuadrícula vacía.

Para mí, usando StackPanel o DockPanel es menos detallado y son mejores para el mantenimiento (piensa añadir una fila más tarde y tener que añadir +1 a todas las otras filas)

¿Por qué es mejor o Grid lo que me falta ?

Respuesta

2

Creo que parte de la razón por la que Grid es el elemento predeterminado es que es (ligeramente) más amigable con el diseñador.

Con una cuadrícula, no hay restricciones para tener múltiples elementos dentro de una sola "celda" de cuadrícula, lo que permite que un diseñador con ubicación libre tenga la misma flexibilidad que un lienzo, pero aún tenga las capacidades de diseño automático de esa cuadrícula (y los otros controles de diseño más agradables como StackPanel y DockPanel) contienen.

1

no falta nada. Tengo muchas grillas en mi (s) aplicación (es), pero no necesariamente como elemento de nivel superior y definitivamente no en la extensión que describes.

Podría ser que muchas personas simplemente no se den cuenta de que pueden eliminar la grilla inicial, y en cambio ponen su propio control en la grilla.

1

He encontrado que para ventanas más elaboradas, es más fácil descomponerlo en áreas funcionales que son bastante independientes (movimiento y tamaño) de las otras. Las rejillas permiten que esas áreas coexistan en un solo panel y permiten que se coloquen sin tener en cuenta dónde están otros controles (hasta cierto punto).

Por ejemplo, en un proyecto Soy working on right now, tengo una ventana que va a ser un administrador de envío. Quiero tres vistas de lista (Envíos, Paquetes, Artículos) Tengo un control de cuadrícula con dos columnas; uno con la lista de paquetes y un divisor de cuadrícula, el otro con una cuadrícula anidada con las otras dos listas y un divisor de cuadrícula.

He visto a muchos diseñadores dividir su ventana en áreas como esta, y hacerlo con otra cosa que no sea una cuadrícula simplemente no funciona, ya que no hay "celdas" discretas en las que los elementos viven indirectamente. Bastantes programas Windows toma este diseño y supongo que cuando tuvieron una reunión y preguntaron cuál debería ser el panel de contenedor predeterminado, la cuadrícula fue la elección basada en ese hecho.

Cory

3

Dos palabras: la estrella de tamaño. El Grid permite clasificar el contenido en el espacio que lo contiene sin proporcionar explícitamente un tamaño para el contenedor. Los controles del panel no.

+1

De acuerdo, pero solo lo necesita a veces, no siempre. Y generalmente puede usar un DockPanel con el mismo efecto. –

+0

Para un efecto algo similar, tal vez. Pero si quiere dividir una ventana por la mitad, por ejemplo, no puede hacer eso con un DockPanel. No sin hacer cosas que probablemente no deberías hacer, como vincular a la propiedad ActualSize de los padres. –

Cuestiones relacionadas