gpt4 book ai didi

WPF网格-当内容可见性设置为Visibility.Collapsed时,自动调整大小的列不会折叠

转载 作者:行者123 更新时间:2023-12-04 04:23:29 24 4
gpt4 key购买 nike

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

最佳答案

发生的情况是,当您使用GridSplitter调整列/行的宽度/高度的大小时,它将设置列/行的ActualHeight(或ActualWidth)。

控件合拢时,应使用触发器将行的高度设置为自动(或零)。

让我对此进行更新。

关于WPF网格-当内容可见性设置为Visibility.Collapsed时,自动调整大小的列不会折叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1601171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com