我有以下简单的 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;
}