Mam następujący Simpl WPF siatki, dwie kolumny, przycisk w każdej kolumnie, pierwsza kolumna auto wielkości i rozdzielacza aby umożliwić zmianę rozmiaru kolumny. Program obsługi zdarzeń jest skonfigurowany na zdarzeniu MouseDoubleclick rozdzielacza. Kiedy splitter jest doulble kliknięty przycisk w lewej kolumnie jest zwinięty.Siatka WPF - Auto wielkości kolumny nie zawaleniem gdy zawartość Widoczność ustawiona Visibility.Collapsed
Teraz, gdy kolumna 1 jest auto wielkości i zawartości jest zwinięty Spodziewam się, że w tym momencie kolumna 1 powinna być skutecznie ukryte, jednak tak nie jest. Mimo że zawartość jest zwinięta, rozmiar kolumny nie ulega zmianie (kolumna z zapamiętywaniem jest autosynchronizowana).
wydaje się dziwne dla mnie, chciałbym kolumnę do upadku - żadnego pojęcia, co tu się dzieje?
<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;
}
Problem dotyczy nie używania ekspandera, chodzi o naprawienie problemu. – esylvestre
@esylvestre huh? – Carlo