WPF 2网格 - 隐藏1,另一个应该扩展

时间:2010-12-01 16:15:41

标签: wpf

我有以下表格。

alt text

这些行位于网格中,较暗的蓝色区域(第1部分和第2部分)是网格本身。

如何在网格1折叠时展开网格2并填充行?我尝试了一个StackPanel但是只将Grid 2向上移动并保持相同的大小。

当网格1崩溃时,我希望它看起来像这样:

alt text

有关如何执行此操作的任何建议吗?

再次感谢!

2 个答案:

答案 0 :(得分:2)

您需要确保Grid2已设置为填充可用空间。如果您有一个包含Grid1,Grid2和其他所有内容的Grid,只需确保包含Grid2的行的RowHeight设置为*,其他所有内容都设置为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>

答案 1 :(得分:0)

使用此XAML打开/关闭Visibility =“Collapsed”

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