Ajouter / Soustraire GridLength dans WPF
-
21-09-2019 - |
Question
J'ai trois colonnes contenant deux extenseurs dans les colonnes de gauche et de droite. Lorsque les deux expnders se sont effondrés, je dois Arrage le contenu de la colonne du milieu de la fenêtre complète. Pour cela, je dois calculer les gridlengths.
Par exemple
GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );
Comment obtenir
w3 = w2 - w1
La solution
Essayez ceci: Définir les largeurs de la ColumnDefinitions
extensible à Auto
et celle du milieu à une unité d'étoile. Contrôle de la largeur des colonnes extensibles en définissant la largeur de leur contenu. Puis, quand ils l'effondrement, la colonne du milieu doit se dilater pour remplir l'espace disponible.
Exemple:
<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>
Hope this helps
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow