StackPanel - ahatornn/clforms GitHub Wiki

StackPanel

ClForms.Elements.StackPanel
Arranges child elements into a single line that can be oriented horizontally or vertically

public class StackPanel: MultipleContentControl, IElementStyle<StackPanel>

Inheritance Control -> ContentControl -> MultipleContentControl -> StackPanel
Derived IElementStyle<StackPanel>

Examples

The following code example creates a StackPanel with Horizontal value of the Orientation property and two Labels inside

var targetPanel = new StackPanel(Orientation.Horizontal)
{
    Background = Color.DarkMagenta,
    AutoSize = false,
};
targetPanel.AddContent(new Label("Content1")
{
    Background = Color.Magenta,
    Foreground = Color.White,
    Margin = new Thickness(1),
});
targetPanel.AddContent(new Label("Content2")
{
    Background = Color.Magenta,
    Foreground = Color.White,
    Margin = new Thickness(1),
});

You can find more examples of using the CheckBox in this project

Remarks

The default value is Horizontal of content that is contained in a StackPanel.

Constructors

Syntax Description
StackPanel() Initialize a new instance StackPanel
StackPanel(Orientation orientation) Initialize a new instance StackPanel with value of Orientation

Properties

Name Type Description
AutoSize bool Gets or sets a value indicating whether the control is resized in accordance with its contents
Background Color Gets or sets a brush that describes the background of a control
BackgroundIsTransparent bool Gets a value indicating whether the Background has Color.NotSet
Bounds Rect Gets the size and location of the control including its nonclient elements, in points, relative to the parent control
ContentCount int Gets the number of elements contained in the current control
DesiredSize Size Gets the size that this element computed during the measure pass of the layout process
DrawingContext IDrawingContext Gets a value of the drawing context
Foreground Color Gets or sets a brush that describes the text of a control
ForegroundIsTransparent bool Gets a value indicating whether the Foreground has Color.NotSet
Height int? Gets or sets the height of the control
Id long Gets a value of the control's identifier
IsMeasureValid bool Gets a value indicating whether component sizing was performed
IsVisualValid bool Gets a value indicating whether the component is being re-rendered
Location Point Gets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container
Margin Thickness Gets or sets the outer margin of an element
Orientation Orientation Gets or sets a value that indicates the dimension by which child elements are stacked
Padding Thickness Gets or sets a Thickness value that describes the amount of space between a control and its child element
Parent ContentControl Gets or sets the parent container of the control
Tag object Gets or sets the object that contains data about the control
Width int? Gets or sets the width of the control

Methods

Syntax Description
AddContent(Control content) Adds the specified control to the control collection
Arrange(Rect) Positions child elements and determines a size for a Control. Parent elements call this method from their Arrange(Rect) implementation to form a recursive layout update
InvalidateMeasure() Invalidates the measurement state (layout) for the element
InvalidateMeasureIfAutoSize() Invalidates the measurement state (layout) for the element if AutoSize property is true otherwise invalidates the rendering of the element
InvalidateVisual() Invalidates the rendering of the element, and forces a complete new layout pass. OnRender(IDrawingContext) is called after the layout cycle is completed
Measure(Size) Updates DesiredSize of a Control. Parent elements call this method from their own Measure(Size) implementations to form a recursive layout update
OnRender(IDrawingContext) Filling a pseudographics drawing context
ParentWindow() Gets the form the control is in
RemoveAllContent() Removes all items from the control collection
RemoveContent(Control content) Remove the specified control to the control collection
SetStyle(Action) Defines actions with an element style

Events

Event Description
OnAutoSizeChanged Occurs when the value of the AutoSize property changes
OnBackgroundChanged Occurs when the value of the Background property changes
OnForegroundChanged Occurs when the value of the Foreground property changes
OnHeightChanged Occurs when the value of the Height property changes
OnMarginChanged Occurs when the value of the Margin property changes
OnOrientationChanged Occurs when the value of the Orientation property changes
OnPaddingChanged Occurs when the value of the Padding property changes
OnParentChanged Occurs when the value of the Parent property changes
OnTagChanged Occurs when the value of the Tag property changes
OnWidthChanged Occurs when the value of the Width property changes
⚠️ **GitHub.com Fallback** ⚠️