2009-09-03 12 views
0

Hai actuellement j'ai grille comme ça.Grille d'expansion dans WPF

<Grid Name="tGrid1" Grid.Row="0" Background="Black" > 
    </Grid> 



    <Grid Name="Grid2" Grid.Row="1" Background="LightBlue" > 
    </Grid> 



    <Grid Name="Grid3" Grid.Row="2" Background="LightGray" Height="auto" > 

    </Grid> 




    <Grid Name="Grid4" Grid.Row="3" Background="LightGreen" > 
    <Button HorizontalAlignment="Left" IsEnabled="True" Margin="13.5,5,0,5" Name="TestBtn" Width="50" Click="test_Click" >Test</Button> 
    </Grid> 

</Grid> 

Ce que je veux, quand je clique sur le bouton Test Grille 1 et Grille 2 doit effondrés et l'espace doit être occupé avec la grille 3. Cela signifie que la hauteur hors-tout de 500 de la grille extérieure, la grille 3 devrait occuper la hauteur = 465 et la grille 4 devrait être occupée y Hauteur = 35. Comment puis-je faire cela? Comment devrais-je changer mes définitions de taille de grille? Merci à l'avance Kaja

Répondre

0

Hai j'ai trouvé la solution.

<DockPanel > 
<Grid Name="tGrid1" Grid.Row="0" DockPanel.dock="Top" Background="Black" > 
</Grid> 

<Grid Name="Grid2" Grid.Row="1" DockPanel.dock="Top" Background="LightBlue" > 
</Grid> 

<Grid Name="Grid4" Grid.Row="3" DockPanel.dock="Bottom" Background="LightGreen" > 
<Button HorizontalAlignment="Left" IsEnabled="True" Margin="13.5,5,0,5" Name="TestBtn" Width="50" Click="test_Click" >Test</Button> 
</Grid> 

<Grid Name="Grid3" Grid.Row="2" DockPanel.dock="Top" Background="LightGray" Height="auto" > 

</Grid> 
</DockPanel> 




private void test_Click(object sender, RoutedEventArgs e) 
    { 
    tGrid1.visibility=visibility.collapsed; 
Grid2.visibility=Visibility.collapsed; 
    } 

Cela fonctionne très bien. Merci Kaja

+5

Qu'est-ce que ...? Est-ce que vous vous remerciez? – sergiol

0

Je ne sais pas si c'est ce que vous demandez, mais dans la méthode test_Click vous pouvez utiliser ceci:

private void test_Click(object sender, RoutedEventArgs e) 
    { 
    tGrid1.Width = 0; 
    tGrid1.Height = 0; 
    Grid2.Width = 0; 
    Grid2.Height = 0; 

    Grid3.Height = 465; 
    Grid4.Height = 35; 
    } 

Si par « effondrement » tu veux dire « cacher », cette travaillera en réglant le height et width sur tGrid1 et Grid2 à 0.

+0

cela ne fonctionne pas.Il supprime la grille1 et la grille2, mais la grille3 n'est pas développée. Quoi qu'il en soit, merci 4 heure time.Let me savoir si vous trouvez un autre moyen – Kaja

Questions connexes