0

我有一个 WPF 应用程序,其中包含两列的网格元素。第二列还包含网格元素。我有一个计时器,5 秒后第二个网格的可见性被折叠,但第一列没有调整大小。

在将第二个网格的可见性设置为折叠后,可以自动调整第一列的大小(以适应整个窗口?

-----------------------|
|               |      |
|               |grid2 |
|               |      |
|               |      |
|--------------------- |


<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="5"/>
            <ColumnDefinition Width="200"/>
        </Grid.ColumnDefinitions>


        <!-- Browser -->
        <my:WebControl Visibility="{Binding IsIEVisible,Converter={StaticResource BoolToVisibleconverter}}" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="webControl1">

        </my:WebControl>

        <GridSplitter Visibility="{Binding isVisiblePult, Converter={StaticResource BoolToVisibleconverter}}" HorizontalAlignment="Center" VerticalAlignment="Stretch" Width="5" Grid.RowSpan="2" Grid.Column="1"/>

        <Grid Visibility="{Binding isVisiblePult, Converter={StaticResource BoolToVisibleconverter}}" Grid.Column="2">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <ListBox x:Name="ListChannels" Grid.Row="1" SelectedItem="{Binding SelectedChannel}" ItemsSource="{Binding Channels}" FontSize="14" Background="#FFD4ECFF">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock FontSize="17" Text="{Binding Name}"/>
                    </DataTemplate>
                </ListBox.ItemTemplate>

            </ListBox>
        </Grid>
4

1 回答 1

1

将第二列和第三列定义设为“自动”,然后在网格拆分器和第二个网格上设置显式宽度。然后,当您折叠它们时,主网格将按照您的要求运行

于 2012-07-03T12:18:59.390 回答