Tengo la siguiente grilla simpl WPf, dos columnas, un botón en cada columna, la primera columna de tamaño automático y un divisor para permitir el cambio de tamaño de la columna. Un controlador de eventos está configurado en el evento Splitter MouseDoubleclick. Cuando se hace clic en el divisor, el botón de la columna izquierda se contrae.WPF Grid - Columna de tamaño automático no colapsa cuando la visibilidad del contenido está configurada en Visibility.Collapsed
Ahora, como la columna 1 tiene un tamaño automático y el contenido está contraído, esperaría en este punto que la columna 1 se oculte efectivamente, pero no es así. Aunque su contenido está colapsado, el tamaño de la columna no cambia (la columna recuerda es autosize).
Me parece extraño, me gustaría que la columna colapse, ¿hay alguna idea de lo que está pasando aquí?
<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;
}
La preocupación no es sobre el uso de un expansor, se trata de solucionar el problema. – esylvestre
@esylvestre ¿eh? – Carlo