Aggiungere / Sottrarre GridLength in WPF
-
21-09-2019 - |
Domanda
Ho tre colonne contenenti due espansori in colonne di destra e sinistra. Quando entrambe le expnders crollati, ho bisogno di arrage il contenuto nella colonna centrale sulla finestra in pieno. Per questo ho bisogno di calcolare le gridlengths.
Ad esempio
GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );
Come arrivare
w3 = w2 - w1
Soluzione
Prova questo: impostare la larghezza del ColumnDefinitions
espandibile a Auto
e quello centrale a 1 stella-unità. Controllare la larghezza delle colonne espandibili impostando la larghezza del loro contenuto. Poi, quando collassano, la colonna centrale dovrebbe espandersi per riempire lo spazio disponibile.
Esempio:
<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>
Spero che questo aiuti
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow