Más / menos GridLength en WPF
-
21-09-2019 - |
Pregunta
Tengo tres columnas que contienen dos expansores en las columnas izquierda y derecha. Cuando ambas expnders colapsaron, necesito arrage el contenido de la columna central de la ventana completa. Para que necesito para calcular los gridlengths.
Por ejemplo
GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );
Cómo llegar
w3 = w2 - w1
Solución
Prueba esto: Establecer el ancho de la ColumnDefinitions
ampliable a Auto
y la de 1 estrella unidad central. Controlar el ancho de las columnas expandibles mediante el establecimiento de la anchura de su contenido. A continuación, cuando se colapsan, la columna central debe expandirse para llenar el espacio disponible.
Ejemplo:
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Expander Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Right">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Expander Grid.Column="2" Margin="0" VerticalAlignment="Top" Header="Expander" ExpandDirection="Left">
<Grid>
<Grid HorizontalAlignment="Left" Width="100" Background="Blue" Height="100"/>
</Grid>
</Expander>
<Grid Background="Aquamarine" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" />
</Grid>
Espero que esto ayude
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow