我有一个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>
答案 0 :(得分:1)
将第二列和第三列定义设置为“Auto”,然后在网格分割器和第二个Grid上设置显式宽度。然后,当您折叠它们时,主网格将按您的要求运行