Frage

Ich habe drei Spalten mit zwei Expandern in der linken und rechten Spalte. Wenn beide die expnders kollabieren, ich brauche den Inhalt in der mittleren Spalte auf den vollen Fenstern arrage. Dafür brauche ich die gridlengths zu berechnen.

Beispiel

GridLength w1= new GridLength( 20 );
GridLength w2= new GridLength( 50 );
GridLength w3= new GridLength( 0 );

Wie kommt man

w3 = w2 - w1
War es hilfreich?

Lösung

Versuchen Sie folgendes: Stellen Sie die Breite des dehnbaren ColumnDefinitions zu Auto und den mittleren bis 1 Stern-Einheit. Kontrollieren Sie die Breite der Spalten Erweiterbar durch die Breite auf deren Inhalte einstellen. Dann, wenn sie zusammenbrechen, die mittlere Spalte erweitern sollte den verfügbaren Raum zu füllen.

Beispiel:

<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, das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top