wpf
Control de cuadrícula
Buscar..
Una cuadrícula simple
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="abc"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="def"/>
</Grid>
Las filas y columnas se definen agregando elementos RowDefinition y ColumnDefinition a las colecciones correspondientes.
Puede haber una gran cantidad de niños en la Grid . Para especificar en qué fila o columna se colocará un hijo en las propiedades Grid.Column se utilizan Grid.Row y Grid.Column . Los números de fila y columna se basan en cero. Si no se configura ninguna fila o columna, el valor predeterminado es 0 .
Los niños colocados en la misma fila y columna se dibujan en orden de definición. Por lo tanto, el último niño definido se dibujará sobre el niño definido anteriormente.
Niños de cuadrícula que abarcan varias filas / columnas
Al usar las propiedades adjuntas Grid.RowSpan y Grid.ColumnSpan , los hijos de una Grid pueden abarcar varias filas o columnas. En el siguiente ejemplo, el segundo TextBlock abarcará la segunda y la tercera columna de la Grid .
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="2" Text="abc"/>
<TextBlock Grid.Column="1" Grid.ColumnSpan="2" Text="def"/>
</Grid>
Sincronizando filas o columnas de múltiples grillas
Los altos de fila o los anchos de columna de múltiples Grid s se pueden sincronizar configurando un SharedSizeGroup común en las filas o columnas para sincronizar. Luego, un control primario en algún lugar del árbol sobre las Grid debe tener la propiedad adjunta Grid.IsSharedSizeScope establecida en True .
<StackPanel Grid.IsSharedSizeScope="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
[...]
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="MyGroup"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
[...]
</Grid>
</StackPanel>
En este ejemplo, la primera columna de ambas Grid siempre tendrá el mismo ancho, también cuando una de ellas cambie de tamaño por su contenido.