コントロールを縦または横に並べるためのコントロールです。
"Stack" とは "積む" という意味がありますが、まさしくコントロールを積んでいくイメージです。
はみ出たコントロールは描画処理自体はおこなわれますが、画面上に表示されることはありません。
ページ内リンク
Orientation プロパティ
StackPanel はコントロールを積んでいくコントロールですが、
その積む方向は Orientation プロパティで指定します。
サンプルとして Orientation プロパティに Vertical を指定した StackPanel に Button コントロールを 10 個入れてみます。
Vertical は Orientation プロパティの既定値でもあるため、
特に指定しなくても同じ結果となります。
Orientation プロパティを Horizontal にすると、コントロールが水平方向に積まれていきます。
結果を見るとわかると思いますが、垂直方向に並べる場合は高さが、水平方向に並べる場合は幅が自動調整されて配置されます。
上記の例では単純に Button コントロールを並べただけですが、
ウィンドウサイズが小さいと 10 個すべての Button コントロールが表示できず、
ユーザが操作することもできません。
このような場合、スクロールバーを表示するという方法が一般的に用いられますが、
これは ScrollViewer コントロールを次のように使用することで実現できます。
水平方向のスクロールバー表示を設定するプロパティは HrizontalScrollBarVisibility プロパティとなります。