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
Était-ce utile?

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
scroll top