<Type Name="StackLayout" FullName="Microsoft.Maui.Controls.StackLayout">
  <TypeSignature Language="C#" Value="public class StackLayout : Microsoft.Maui.Controls.Layout&lt;Microsoft.Maui.Controls.View&gt;, Microsoft.Maui.Controls.IElementConfiguration&lt;Microsoft.Maui.Controls.StackLayout&gt;" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit StackLayout extends Microsoft.Maui.Controls.Layout`1&lt;class Microsoft.Maui.Controls.View&gt; implements class Microsoft.Maui.Controls.IElementConfiguration`1&lt;class Microsoft.Maui.Controls.StackLayout&gt;" />
  <TypeSignature Language="DocId" Value="T:Microsoft.Maui.Controls.StackLayout" />
  <TypeSignature Language="F#" Value="type StackLayout = class&#xA;    inherit Layout&lt;View&gt;&#xA;    interface IElementConfiguration&lt;StackLayout&gt;" />
  <AssemblyInfo>
    <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
    <AssemblyVersion>1.1.0.0</AssemblyVersion>
    <AssemblyVersion>1.2.0.0</AssemblyVersion>
    <AssemblyVersion>1.3.0.0</AssemblyVersion>
    <AssemblyVersion>1.3.3.0</AssemblyVersion>
    <AssemblyVersion>1.4.0.0</AssemblyVersion>
    <AssemblyVersion>1.5.0.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>Microsoft.Maui.Controls.Layout&lt;Microsoft.Maui.Controls.View&gt;</BaseTypeName>
    <BaseTypeArguments>
      <BaseTypeArgument TypeParamName="T">Microsoft.Maui.Controls.View</BaseTypeArgument>
    </BaseTypeArguments>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>Microsoft.Maui.Controls.IElementConfiguration&lt;Microsoft.Maui.Controls.StackLayout&gt;</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>A <see cref="T:Microsoft.Maui.Controls.Layout`1" /> that positions child elements in a single line which can be oriented vertically or horizontally.</summary>
    <remarks>
      <para>Because <see cref="T:Microsoft.Maui.Controls.StackLayout" /> layouts override the bounds on their child elements, application developers should not set bounds on them.</para>
      <example>
        <para>The following example code, adapted from the <format type="text/html"><a href="https://docs.microsoft.com/samples/xamarin/xamarin-forms-samples/formsgallery/" target="_blank">FormsGallery</a></format> example shows how to create a new <see cref="T:Microsoft.Maui.Controls.StackLayout" /> with children that explore many of the layout behaviors of <see cref="T:Microsoft.Maui.Controls.StackLayout" />:</para>
        <code lang="csharp lang-csharp"><![CDATA[
StackLayout stackLayout = new StackLayout
{
    Spacing = 0,
    VerticalOptions = LayoutOptions.FillAndExpand,
    Children = 
    {
        new Label
        {
            Text = "StackLayout",
            HorizontalOptions = LayoutOptions.Start
        },
        new Label
        {
            Text = "stacks its children",
            HorizontalOptions = LayoutOptions.Center
        },
        new Label
        {
            Text = "vertically",
            HorizontalOptions = LayoutOptions.End
        },
        new Label
        {
            Text = "by default,",
            HorizontalOptions = LayoutOptions.Center
        },
        new Label
        {
            Text = "but horizontal placement",
            HorizontalOptions = LayoutOptions.Start
        },
        new Label
        {
            Text = "can be controlled with",
            HorizontalOptions = LayoutOptions.Center
        },
        new Label
        {
            Text = "the HorizontalOptions property.",
            HorizontalOptions = LayoutOptions.End
        },
        new Label
        {
            Text = "An Expand option allows one or more children " +
                   "to occupy the an area within the remaining " +
                   "space of the StackLayout after it's been sized " +
                   "to the height of its parent.",
            VerticalOptions = LayoutOptions.CenterAndExpand,
            HorizontalOptions = LayoutOptions.End
        },
        new StackLayout
        {
            Spacing = 0,
            Orientation = StackOrientation.Horizontal,
            Children = 
            {
                new Label
                {
                    Text = "Stacking",
                },
                new Label
                {
                    Text = "can also be",
                    HorizontalOptions = LayoutOptions.CenterAndExpand
                },
                new Label
                {
                    Text = "horizontal.",
                },
            }
        }
    }
};
]]></code>
      </example>
      <para>
        <img href="~/Microsoft.Maui.Controls/_images/StackLayout.TripleScreenShot.png" />
      </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public StackLayout ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberSignature Language="DocId" Value="M:Microsoft.Maui.Controls.StackLayout.#ctor" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>Initializes a new instance of the StackLayout class.</summary>
        <remarks>
          <para>
              The following example shows the initialization of a new StackLayout and setting its orientation and children.
              </para>
          <example>
            <code lang="csharp lang-csharp"><![CDATA[
var stackLayout = new StackLayout {
  Orientation = StackOrientation.Horizontal,
  Children = {
    firstChild,
    secondChild,
    thirdChild
  }
};
              ]]></code>
          </example>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="LayoutChildren">
      <MemberSignature Language="C#" Value="protected override void LayoutChildren (double x, double y, double width, double height);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void LayoutChildren(float64 x, float64 y, float64 width, float64 height) cil managed" />
      <MemberSignature Language="DocId" Value="M:Microsoft.Maui.Controls.StackLayout.LayoutChildren(System.Double,System.Double,System.Double,System.Double)" />
      <MemberSignature Language="F#" Value="override this.LayoutChildren : double * double * double * double -&gt; unit" Usage="stackLayout.LayoutChildren (x, y, width, height)" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="x" Type="System.Double" />
        <Parameter Name="y" Type="System.Double" />
        <Parameter Name="width" Type="System.Double" />
        <Parameter Name="height" Type="System.Double" />
      </Parameters>
      <Docs>
        <param name="x">A value representing the x coordinate of the child region bounding box.</param>
        <param name="y">A value representing the y coordinate of the child region bounding box.</param>
        <param name="width">A value representing the width of the child region bounding box.</param>
        <param name="height">A value representing the height of the child region bounding box.</param>
        <summary>Positions and sizes the children of a StackLayout.</summary>
        <remarks>Implementors wishing to change the default behavior of a StackLayout should override this method. It is suggested to still call the base method and modify its calculated results.</remarks>
      </Docs>
    </Member>
    <Member MemberName="On&lt;T&gt;">
      <MemberSignature Language="C#" Value="public Microsoft.Maui.Controls.IPlatformElementConfiguration&lt;T,Microsoft.Maui.Controls.StackLayout&gt; On&lt;T&gt; () where T : Microsoft.Maui.Controls.IConfigPlatform;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Microsoft.Maui.Controls.IPlatformElementConfiguration`2&lt;!!T, class Microsoft.Maui.Controls.StackLayout&gt; On&lt;(class Microsoft.Maui.Controls.IConfigPlatform) T&gt;() cil managed" />
      <MemberSignature Language="DocId" Value="M:Microsoft.Maui.Controls.StackLayout.On``1" />
      <MemberSignature Language="F#" Value="abstract member On : unit -&gt; Microsoft.Maui.Controls.IPlatformElementConfiguration&lt;'T, Microsoft.Maui.Controls.StackLayout (requires 'T :&gt; Microsoft.Maui.Controls.IConfigPlatform)&gt; (requires 'T :&gt; Microsoft.Maui.Controls.IConfigPlatform)&#xA;override this.On : unit -&gt; Microsoft.Maui.Controls.IPlatformElementConfiguration&lt;'T, Microsoft.Maui.Controls.StackLayout (requires 'T :&gt; Microsoft.Maui.Controls.IConfigPlatform)&gt; (requires 'T :&gt; Microsoft.Maui.Controls.IConfigPlatform)" Usage="stackLayout.On " />
      <MemberType>Method</MemberType>
      <Implements>
        <InterfaceMember>M:Microsoft.Maui.Controls.IElementConfiguration`1.On``1</InterfaceMember>
      </Implements>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Microsoft.Maui.Controls.IPlatformElementConfiguration&lt;T,Microsoft.Maui.Controls.StackLayout&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T">
          <Constraints>
            <InterfaceName>Microsoft.Maui.Controls.IConfigPlatform</InterfaceName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters />
      <Docs>
        <typeparam name="T">The platform configuration that selects the platform specific to use.</typeparam>
        <summary>Returns the configuration object that the developer can use to call platform-specific methods for the layout.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnSizeRequest">
      <MemberSignature Language="C#" Value="protected override Microsoft.Maui.Controls.SizeRequest OnSizeRequest (double widthConstraint, double heightConstraint);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance valuetype Microsoft.Maui.Controls.SizeRequest OnSizeRequest(float64 widthConstraint, float64 heightConstraint) cil managed" />
      <MemberSignature Language="DocId" Value="M:Microsoft.Maui.Controls.StackLayout.OnSizeRequest(System.Double,System.Double)" />
      <MemberSignature Language="F#" Value="override this.OnSizeRequest : double * double -&gt; Microsoft.Maui.Controls.SizeRequest" Usage="stackLayout.OnSizeRequest (widthConstraint, heightConstraint)" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
        </Attribute>
        <Attribute>
          <AttributeName>System.Obsolete("OnSizeRequest is obsolete as of version 2.2.0. Please use OnMeasure instead.")</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Microsoft.Maui.Controls.SizeRequest</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="widthConstraint" Type="System.Double" />
        <Parameter Name="heightConstraint" Type="System.Double" />
      </Parameters>
      <Docs>
        <param name="widthConstraint">The available width for the StackLayout to use.</param>
        <param name="heightConstraint">The available height for the StackLayout to use.</param>
        <summary>This method is called during the measure pass of a layout cycle to get the desired size of the StackLayout.</summary>
        <returns>A <see cref="T:Microsoft.Maui.Controls.SizeRequest" /> which contains the desired size of the StackLayout.</returns>
        <remarks>The results of this method will be a sum of all the desired sizes of its children along the orientation axis, and the maximum along the non-orientation axis.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Orientation">
      <MemberSignature Language="C#" Value="public Microsoft.Maui.Controls.StackOrientation Orientation { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Maui.Controls.StackOrientation Orientation" />
      <MemberSignature Language="DocId" Value="P:Microsoft.Maui.Controls.StackLayout.Orientation" />
      <MemberSignature Language="F#" Value="member this.Orientation : Microsoft.Maui.Controls.StackOrientation with get, set" Usage="Microsoft.Maui.Controls.StackLayout.Orientation" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Microsoft.Maui.Controls.StackOrientation</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets or sets the value which indicates the direction which child elements are positioned.</summary>
        <value>A <see cref="T:Microsoft.Maui.Controls.StackOrientation" /> which indicates the direction children layouts flow. The default value is Vertical.</value>
        <remarks>Setting the Orientation of a StackLayout triggers a layout cycle if the stack is already inside of a parent layout. To prevent wasted layout cycles, set the orientation prior to adding the StackLayout to a parent.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OrientationProperty">
      <MemberSignature Language="C#" Value="public static readonly Microsoft.Maui.Controls.BindableProperty OrientationProperty;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly class Microsoft.Maui.Controls.BindableProperty OrientationProperty" />
      <MemberSignature Language="DocId" Value="F:Microsoft.Maui.Controls.StackLayout.OrientationProperty" />
      <MemberSignature Language="F#" Value=" staticval mutable OrientationProperty : Microsoft.Maui.Controls.BindableProperty" Usage="Microsoft.Maui.Controls.StackLayout.OrientationProperty" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Microsoft.Maui.Controls.BindableProperty</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Identifies the Orientation bindable property.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="Spacing">
      <MemberSignature Language="C#" Value="public double Spacing { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance float64 Spacing" />
      <MemberSignature Language="DocId" Value="P:Microsoft.Maui.Controls.StackLayout.Spacing" />
      <MemberSignature Language="F#" Value="member this.Spacing : double with get, set" Usage="Microsoft.Maui.Controls.StackLayout.Spacing" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Double</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Gets or sets a value which indicates the amount of space between each child element.</summary>
        <value>A value in device pixels which indicates the amount of space between each element. The default value is 6.0.</value>
        <remarks>
          <para>
            Setting this value triggers a layout cycle if the StackLayout is already in a parent Layout.
          </para>
          <para>
              The following example sets the Spacing on construction of a StackLayout.
              </para>
          <example>
            <code lang="csharp lang-csharp"><![CDATA[
var stackLayout = new StackLayout {
  Spacing = 10
};
              ]]></code>
          </example>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="SpacingProperty">
      <MemberSignature Language="C#" Value="public static readonly Microsoft.Maui.Controls.BindableProperty SpacingProperty;" />
      <MemberSignature Language="ILAsm" Value=".field public static initonly class Microsoft.Maui.Controls.BindableProperty SpacingProperty" />
      <MemberSignature Language="DocId" Value="F:Microsoft.Maui.Controls.StackLayout.SpacingProperty" />
      <MemberSignature Language="F#" Value=" staticval mutable SpacingProperty : Microsoft.Maui.Controls.BindableProperty" Usage="Microsoft.Maui.Controls.StackLayout.SpacingProperty" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>0.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
        <AssemblyVersion>1.1.0.0</AssemblyVersion>
        <AssemblyVersion>1.2.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.0.0</AssemblyVersion>
        <AssemblyVersion>1.3.3.0</AssemblyVersion>
        <AssemblyVersion>1.4.0.0</AssemblyVersion>
        <AssemblyVersion>1.5.0.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyName>Microsoft.Maui.Controls.Core</AssemblyName>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Microsoft.Maui.Controls.BindableProperty</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Identifies the Spacing bindable property.</summary>
        <remarks>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
