2010-12-01 7 views
0

Ich habe das folgende Formular.WPF 2 Grid - verstecken 1 und die andere sollte erweitern

alt text

Diese Reihen liegen in einem Gitter und der dunklere blaue Bereiche, Abschnitt 1 und Abschnitt 2 werden Grids selbst.

Wie kann ich Grid 2 erweitern und die Zeile füllen, wenn Grid 1 minimiert wurde? Ich habe versucht, ein StackPanel, aber das nur verschoben Grid 2 und ließ es die gleiche Größe.

Ich mag es so aussehen, als Grid 1 kollabiert wurde:

alt text

Vorschläge, wie dies zu tun?

Danke nochmal!

Antwort

2

Sie müssen sicherstellen, dass Grid2 den verfügbaren Raum zu füllen ist eingerichtet. Wenn Sie ein Gitter haben, enthält Grid1, Grid2, und alles andere, so stellen Sie sicher, dass die RowHeight für die Zeile Grid2 enthält, wird auf * und alles andere auf auto:

<Grid Name="MainGrid"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="auto"/> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="auto"/> 
    </Grid.RowDefinitions> 
    <Grid Name="Grid1" Grid.Row="0"/> 
    <Grid Name="Grid2" Grid.Row="1"/> 
    <Grid Name="EverythingBelow" Grid.Row="2"/> 
<Grid> 
+0

habe ich versucht, die ursprünglich mit StackPanels und endete Löschen meiner RowDefinitions. Sobald ich diese zurück fügte, fing alles an zu klicken. – ErocM

0

Ein-/Ausschalten der Sichtbarkeit = „Komprimiert“ mit diesem XAML

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

    <Grid Grid.Row="0" Background="Red" Visibility="Collapsed" > 
     <TextBlock Height="50" Text="Grid1" /> 
    </Grid> 

    <Grid Grid.Row="1" Background="Yellow"> 
     <TextBlock Text="Grid2" /> 
    </Grid> 

</Grid>