rowspan - wpf grid two columns
Cuadrícula de WPF: ¿Hay una manera fácil de reajustar los elementos de la fila si necesito insertar nuevas filas? (4)
Parece que las definiciones de filas y columnas de la cuadrícula están codificadas de esta manera:
Grid.Row="3" Grid.Column="1"
Estoy en medio del desarrollo de una nueva aplicación de WPF y tengo que agregar y eliminar constantemente nuevas filas de mi cuadrícula a medida que el cliente se decide sobre cómo debe verse el formulario. Estoy descubriendo que esta es una tarea bastante tediosa. Si inserto una fila cerca de la parte superior, tengo que cambiar manualmente todos los índices de fila en el XAML debajo de la fila que acabo de insertar.
¿Hay una manera fácil de auto-ajustar todas las filas?
No hay una manera fácil de ajustar automáticamente sus filas / columnas para una Grid
.
Una alternativa potencial que he usado en el pasado es un UniformGrid
ya que no necesita una referencia de fila / columna en cada elemento. Es bueno para bloquear los marcadores de posición para los datos.
Si está haciendo diseños iniciales, recomendaría usar la interfaz Drag / Drop en Visual Studio o una herramienta de diseño como Balsamiq o Blend . Balsamiq es mi favorito, ya que intencionalmente no parece una aplicación real, por lo que los clientes no se atascan en la apariencia real de la cosa y se centran en los datos.
Sé que esta es una pregunta muy antigua, pero en caso de que alguien más se la encuentre, en Visual Studio 2013 (quizás antes también, no estoy seguro), puede simplemente desplazarse sobre el borde de la cuadrícula y le permitirá dividir una fila en dos filas.
Hará que las filas tengan un número de altura establecido, por lo que probablemente necesitará regresar y cambiar luego a ''Auto'' o ''*'' o lo que quiera usar. También hace que cualquier cosa en la fila original abarque ambas filas, por lo que tendría que eliminar el atributo RowSpan = "2" en esos elementos y colocarlos en las filas correctas, pero empujará todos los elementos en las filas inferiores hacia abajo automáticamente.
No es completamente automático y hay un poco de limpieza, pero si tienes muchas filas es más rápido que renumerar todo manualmente.
Una Grid
es una cuadrícula y las filas y columnas están numeradas por una razón específica. Es como un trozo de papel cuadriculado cortado en un número fijo de cuadrados. Debido a que el número de filas y columnas es fijo, puede hacer cosas poderosas como la división de filas y columnas. A la inversa, esto no es flexible para un número variable de filas o columnas.
Si necesita un número variable de filas, o si agrega filas continuamente en el momento del diseño, es posible que la Grid
no sea el mejor elemento de diseño para usted. O mejor aún, puede usar la Grid
en combinación con otro elemento de diseño para obtener la flexibilidad que necesita.
Por ejemplo, puede poner todas sus filas variables en una sola fila de la Grid
y ahora su conteo de filas de la cuadrícula no cambiará más. Pero entonces necesitará un elemento de diseño que admita un número variable de filas para colocar en esa fila de la Grid
. Bueno, hay muchos de ellos para elegir, pero dos, por ejemplo, que son útiles son StackPanel
y DockPanel
.
El elemento de diseño DockPanel
en particular es muy poderoso para números variables de filas o columnas, particularmente cuando se utiliza como DockPanels
dentro de DockPanels
u otras combinaciones. ¡Todo lo que necesitas para manejar este problema de diseño es subdividir y conquistar !
Aquí hay una introducción a DockPanel
: WPF Tutorial: Dock Panel