У меня есть следующая упрощенная сетка WPf, два столбца, кнопка в каждом столбце, первый размер столбца с авторазмером и разделитель для изменения размера столбца.
Обработчик события настраивается для события MouseDoubleclick сплиттера. При нажатии на сплиттер, кнопка в левом столбце свернута.
Теперь, поскольку столбец 1 имеет автоматический размер, а содержимое свернуто, я ожидаю, что в этот момент столбец 1 должен быть эффективно скрыт, однако это не так.
Несмотря на то, что его содержимое свернуто, размер столбца не изменяется (размер столбца запоминания изменяется автоматически).
Мне кажется странным, я бы хотел, чтобы колонна рухнула - есть идеи, что здесь происходит?
<Window x:Class="KingLayout.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<Button x:Name="leftButton">Left</Button>
<Button Grid.Column="1" Margin="5,0,0,0">Right</Button>
<GridSplitter Name="verticalSplitter" ShowsPreview="True" Grid.RowSpan="1" Grid.Column="1" HorizontalAlignment="Left"
VerticalAlignment="Stretch" Width="5" MouseDoubleClick="verticalSplitter_MouseDoubleClick"/>
</Grid>
</Window>
private void verticalSplitter_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
leftButton.Visibility = leftButton.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
}