# レイアウト システム 中級 プログラマー デザイナー Stride UI のレイアウトシステムは、Windows Presentation Foundation(WPF)に似ています。WPF のレイアウトシステムの詳細については、[MSDNドキュメント](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/layout)を参照してください。WPF のドキュメントの多くは、Stride のレイアウトシステムにも当てはまります。 Stride UI システムのすべての @'Stride.UI.UIElement' には、それを取り巻く矩形があり、レイアウトで使用されます。Stride は、@'Stride.UI.UIElement' の要件、利用可能な画面スペース、制約、マージン、余白、および @'Stride.UI.Panels.Panel' 要素の特別な動作(特定の方法で子を配置する)に従って、レイアウトを計算します。 レイアウトシステムは、このデータを再帰的に処理して、UI システム内のすべての @'Stride.UI.UIElement' の位置とサイズを計算します。 ## Measure と Arrange Stride では、レイアウトの処理を 2 つのパスで再帰的に行います。[Measure](xref:Stride.UI.UIElement.Measure(Stride.Core.Mathematics.Vector3)) と [Arrange](xref:Stride.UI.UIElement.Arrange(Stride.Core.Mathematics.Vector3,System.Boolean)) です。 ### Measure [Measure](xref:Stride.UI.UIElement.Measure(Stride.Core.Mathematics.Vector3)) パスでは、各要素は、@'Stride.UI.UIElement.Width', @'Stride.UI.UIElement.Height', @'Stride.UI.UIElement.Margin'などのプロパティに従って、[DesiredSize](xref:Stride.UI.UIElement#Stride_UI_UIElement_DesiredSize) を再帰的に計算します。 一部の @'Stride.UI.Panels.Panel' 要素は、[Measure](xref:Stride.UI.UIElement.Measure(Stride.Core.Mathematics.Vector3)) を再帰的に呼び出して、子要素の [DesiredSize](xref:Stride.UI.UIElement#Stride_UI_UIElement_DesiredSize) を決定し、それに従って動作します。 ### Arrange [Arrange](xref:Stride.UI.UIElement.Arrange(Stride.Core.Mathematics.Vector3,System.Boolean)) パスは、以下のプロパティを考慮して、要素を配置します。 * @'Stride.UI.UIElement.Margin' * @'Stride.UI.UIElement.Width' * @'Stride.UI.UIElement.Height' * @'Stride.UI.UIElement.HorizontalAlignment' * @'Stride.UI.UIElement.VerticalAlignment' * @'Stride.UI.Panels.Panel' * specific [Arrange](xref:Stride.UI.UIElement.Arrange(Stride.Core.Mathematics.Vector3,System.Boolean)) rules ## 関連項目 * [MSDN WPF:レイアウト](https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/layout) * [UI ページ](ui-pages.md) * [UI ライブラリ](ui-libraries.md) * [UI エディター](ui-editor.md) * [シーンに UI を追加する](add-a-ui-to-a-scene.md)