Visibilityプロパティ

.NET Framework 2.0から加わったFlowLayoutPanel コントロール (Windows フォーム) | Microsoft Docsを使うと、コントロールを水平または垂直の方向に並べて配置することができます。

フォームの大きさに合わせてコントロールのレイアウトを自動的に変更する(FlowLayoutPanelコントロール) | 日経 xTECH(クロステック)



通常、コントロールのVisibleプロパティをFalseに設定すれば、そのコントロールを非表示状態にすることができます。FlowLayoutPanelコントロール上に配置したコントロールの場合も同じではあるのですが、実際にはそのコントロールが存在しないことになりその分レイアウトはつめて表示されます。
FlowLayoutPanelコントロール上にButtonコントロールを3つ配置し、Button2のVisibleプロパティをFalseに設定した場合



WPFのコントロール(System.Windows.Controls名前空間)には、Visibleプロパティの代わりにVisibilityプロパティが用意されており、このプロパティにはVisible、Collapsed、Hiddenの3つを設定することができます。


XAML

    <StackPanel>
        <Button>Button1</Button>
        <Button Visibility="Visible">Button2</Button>
        <Button>Button3</Button>
    </StackPanel>



左から、Button2のVisibilityプロパティの値をVisible、Collapsed、Hiddenに設定した結果です。
このように、WPFのStackPanelコントロールではVisibilityプロパティをHiddenにすることで、レイアウトを保ったままコントロールを非表示状態にすることができます。