私は wpf グリッドを使用し、コントロールを動的に追加/削除する wpf アプリケーションを持っています。コントロールを追加することは問題ありませんが、削除するとグリッドから消えますが、ラップ パネルの場合と同様に、残りの要素で埋められるようにしたい空の場所が残ります。
以前はラップ パネルを使用していましたが、正常に動作しましたが、グループ ボックス間にスプリッタ コントロールを追加する必要があるため、ラップ パネルをグリッドに置き換えました。
ここにウィンドウのスクリーンショットがあります
中央のグループボックスを削除すると、次のように表示されます
3 番目のグループボックスが 2 番目のグループボックスの場所を占有するようにします。記録のために、グリッドのサイズ変更イベントを使用しました。これは、それが持っているコードです
foreach (var control in this.DynamicGrid.Children)
{
if (control.GetType() == typeof(GroupBox))
{
GroupBox groupBox = control as GroupBox;
groupBox.Height = this.DynamicGrid.ActualHeight;
this.WrapPanel1.Width = this.DynamicGrid.ActualWidth;
}
}
Wrappanel には、要素を追加/削除する動的グリッドがあります。