Cómo dejar que un expansor se expanda hacia arriba
Pregunta
Tengo un dataGrid y un expansor de la siguiente manera:
<Grid>
...
<DataGrid ....>
<Expander ...>
</Grid>
Quiero que la cuadrícula de datos sea lo más grande posible y que el expansor sea lo más pequeño posible al principio. Cuando un usuario hace clic en el expansor, quiero que se expanda hacia arriba en lugar de hacia abajo, y que la cuadrícula de datos se reduzca.
¡Gracias!
Solución
Puede definir las alturas de las filas en la cuadrícula, y luego colocar el expansor en la fila inferior, y dejar que la cuadrícula lo resuelva.
*: esta altura es una unidad, donde la altura total se divide por el número de unidades y se reparte. Entonces, si la altura fuera 300 y hubiera dos filas, 2 * y *, entonces serían 200 y 100 cada una.
Automático : esta es la altura mínima del contenido.
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Canvas Grid.Row="0" Background="LightBlue" />
<Expander Grid.Row="1">
<Canvas Background="LightGreen" Height="200" />
</Expander>
</Grid>