#386 – Layout = Panels + FrameworkElements + Alignment/Margins/Padding
September 14, 2011 1 Comment
Layout in WPF is the process by which the location and size of all user interface elements is determined.
A user interface is composed of an outer Window or Page which contains a hierarchy of user interface elements. The hierarchy can contain individual user interface elements or Panels, which in turn contain a collection of child FrameworkElements.
Panel is an abstract class that serves as a parent for specific layout panels, including Canvas, DockPanel, Grid, StackPanel and WrapPanel.
A panel will contain a collection of child FrameworkElement instances. These can be individual controls that derive from FrameworkElement, directly or indirectly. Because Panel is itself a child of the FrameworkElement class, a panel can contain other panels.
FrameworkElement child elements are position within a parent using properties related to alignment, margins and padding. These properties include:
- HorizontalAlignment, VerticalAlignment and Margin (from FrameworkElement)
- HorizontalContentAlignment, VerticalContentAlignment and Padding (from Control)