WrapPanel.Orientation

WrapPanel.Orientationで、並べる方向を指定できる

WrapPanel.Orientation Property (System.Windows.Controls) | Microsoft Docs

Verticalで縦方向になる
Verticalで縦方向になる

OrientationをVerticalにすると縦方向になる。

最初は縦一列
最初は縦一列

最初は縦一列。

縦を狭めると横に広がる
縦を狭めると横に広がる

縦を狭めると横に広がる。

横を広く縦を狭くする
横を広く縦を狭くする

横を広く縦を狭くするとこうなる。

Sample/wpf/WrapPanel/Orientation/src/WrapPanel_ at master · bg1bgst333/Sample · GitHub

WrapPanel

WrapPanelも、StackPanelのように縦方向や横方向に並べるパネルレイアウト。
ただし、子コントロールがはみ出ないように折り返す機能がある。

WrapPanel Class (System.Windows.Controls) | Microsoft Docs

デフォルトは横方向
デフォルトは横方向

デフォルトは横方向だが、

サイズが大きいと折り返す
サイズが大きいと折り返す

サイズが大きいと折り返す。

起動時
起動時

起動時こうだが、ウィンドウを横に拡げると、

横に並ぶ
横に並ぶ

横に並ぶ。

狭めると縦に並ぶ
狭めると縦に並ぶ

狭めると縦に並ぶ。

Sample/wpf/WrapPanel/WrapPanel/src/WrapPanel_ at master · bg1bgst333/Sample · GitHub

FrameworkElement.Height

FrameworkElement.Heightで高さを指定できる。

FrameworkElement.Height Property (System.Windows) | Microsoft Docs

1つ目の高さを20にする
1つ目の高さを20にする

1つ目の高さを20にする。

2つ目は30, 3つ目は50にする
2つ目は30, 3つ目は50にする

2つ目は30、3つ目は50にする。

このように高さがバラバラになる
このように高さがバラバラになる

このように高さがバラバラになる。
また、3つ目のボタンがウィンドウに入りきらないので切れてしまっている。

Sample/wpf/FrameworkElement/Height/src/FrameworkElement_ at master · bg1bgst333/Sample · GitHub

FrameworkElement.Width

FrameworkElement.Widthで、幅を指定できる。

FrameworkElement.Width Property (System.Windows) | Microsoft Docs

1つ目のButtonのWidthを50にする
1つ目のButtonのWidthを50にする

1つ目のButtonのWidthを50にする。

2つ目は100, 3つ目は150とする
2つ目は100, 3つ目は150とする

2つ目は100、3つ目は150とする。

幅の違うボタン
幅の違うボタン

このように幅の違うボタンを配置できる。

Sample/wpf/FrameworkElement/Width/src/FrameworkElement_ at master · bg1bgst333/Sample · GitHub

StackPanel.Orientation

StackPanel.Orientationで縦方向か横方向か並べる方向を指定できる。

StackPanel.Orientation Property (System.Windows.Controls) | Microsoft Docs

デフォルトは縦方向
デフォルトは縦方向

デフォルトは縦方向になっているが、

Horizontal
Horizontal

OrientationをHorizontalにすると横方向になる。

Vertical
Vertical

Verticalで再び縦方向になる。

もう一回Horizontal
もう一回Horizontal

もう一回Horizontalに戻して、

横方向に表示
横方向に表示

横方向に表示されてる。

Sample/wpf/StackPanel/Orientation/src/StackPanel_ at master · bg1bgst333/Sample · GitHub

ContentControl.Content

ContentControl.Contentで、Buttonなどコンテンツ(文字列や画像など)を中に表示するようなコントロールのコンテンツをセットする。

ContentControl.Content Property (System.Windows.Controls) | Microsoft Docs

文字列のコンテンツの場合は、セットするには3つの方法がある。

Contentに直接文字列で指定する方法
Contentに直接文字列で指定する方法

Contentプロパティに直接文字列で指定する方法。

Contentプロパティサブタグの値として指定する方法
Contentプロパティサブタグの値として指定する方法

Contentプロパティサブタグの値として指定する方法。

子要素に直接指定する方法
子要素に直接指定する方法

子要素に直接指定する方法。
Contentプロパティサブタグは省略できるので、こういうこともできる。

どれにしても表示できる
どれにしても表示できる

どれにしても表示できる

Sample/wpf/ContentControl/Content/src/ContentControl_ at master · bg1bgst333/Sample · GitHub

StackPanel

StackPanelは、縦方向、または横方向に子コントロールを並べるパネルレイアウト。

StackPanel Class (System.Windows.Controls) | Microsoft Docs

StackPanel
StackPanel

Gridをいったん外して、StackPanelをWindow直下にする。

Buttonを配置
Buttonを配置

子要素にButtonを配置。

3つ並べる
3つ並べる

Buttonのテキストは、Buttonタグの中に書くことでセットできる。
3つ並べる。

ボタン
ボタン

このように表示される。

Sample/wpf/StackPanel/StackPanel/src/StackPanel_ at master · bg1bgst333/Sample · GitHub