2012-07-03 90 views
0

我有一个WPF应用程序,它包含两列的Grid Element。 第二列还包含网格元素。 我有一个计时器,5秒后第二个网格的可见性变为崩溃,但第一列不调整大小。自动调整WPF Grid Grid的大小

它可以自动调整第一列(第二网格的可见性设置为倒塌后,以适应整个窗口?

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

回答

1

使第二个和第三个栏定义“自动”,然后设定明确的宽度在你的网格分离器和第二个网格,然后当您折叠它们时,主网格将按照您的要求运行