私はWPFにかなり慣れていないので、これが最近「古い帽子」である場合は失礼します... Web /フォーラムをトロールし、必要な答えが見つかりませんでした。
5列のWPFグリッドがあります。3つはデータ用、2つはグリッドスプリッター用です。これは(このサイトの情報に感謝します!)正常に機能し、サイズが変更されているようです。ただし、中央の列を表示/非表示にできる必要があります。並べ替えることはできますが、中央の列を非表示にしても、左側のグリッドスプリッターは「非表示」の列に影響を与えます。2列と3列を効果的に切り替える必要があります。これが私の(プロトタイプ)コードです:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Name="Col0" Width="*" />
<ColumnDefinition Name="Col1" Width="auto" />
<ColumnDefinition Name="Col2" Width="*" />
<ColumnDefinition Name="Col3" Width="auto" />
<ColumnDefinition Name="Col4" Width="auto" />
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1" Height="100" HorizontalAlignment="Center" Margin="0" Name="GridSplitter1" VerticalAlignment="Stretch" Width="3" />
<GridSplitter Grid.Column="3" Height="100" HorizontalAlignment="Center" Margin="0" Name="GridSplitter2" VerticalAlignment="Stretch" Width="3" />
<Border BorderBrush="Silver" BorderThickness="1" Grid.Column="0" HorizontalAlignment="Stretch" Margin="0" Name="Border1" VerticalAlignment="Stretch" Background="#FFC84797" />
<Border BorderBrush="Silver" BorderThickness="1" Grid.Column="2" HorizontalAlignment="Stretch" Margin="0" Name="Border2" VerticalAlignment="Stretch" Background="Black" />
<Border BorderBrush="Silver" BorderThickness="1" Grid.Column="4" HorizontalAlignment="Stretch" Margin="0" Name="Border3" VerticalAlignment="Stretch" Background="#FFA60000">
<Button Content="hide" Height="33" Name="butHide" Width="85" />
</Border>
</Grid>
Private Sub butHide_Click(ByVal sender As Object、ByVal e As System.Windows.RoutedEventArgs)はbutHide.Clickを処理します butHide.Content = "hide" Then butHide.Content = "show" Col2.Width = New GridLength(0) Border2.Visibility = System.Windows.Visibility.Collapsed GridSplitter2.Visibility = System.Windows.Visibility.Collapsed そうしないと() butHide.Content = "hide" Col2.Width = New GridLength(1、GridUnitType.Star) Border2.Visibility = System.Windows.Visibility.Visible GridSplitter2.Visibility = System.Windows.Visibility.Visible 終了する場合 サブ終了