Panels determine the layout (size and position) of their content (other interface elements). Arranging user interface elements simply with static pixel-based coordinates and static pixel-based sizes can work in limited environments, but these types of interfaces can't correctly deal with different screen resolutions and dimensions, user settings such as font sizes, or content that changes in unpredictable ways (such as text being translated into different languages).

More information about panels in Layout & Panels tutorial

Blend defines a variety of panels enough to avoid the problems mentioned above and to create any type of application. Noesis GUI Framework implements the following Panel classes from among those provided by Blend (green tick means implemented, red cross means unimplemented class):


Each panel element encapsulates its own special functionality, as explained next.


Canvas is the most basic panel. It defines an area within which you can explicitly position child elements by coordinates relative to the Canvas area.


Detailed Canvas class information.


A StackPanel enables you to stack its children sequentially. The Orientation property can be used to control the direction of the content flow. The default stack orientation is vertical.


Detailed StackPanel class information.


WrapPanel is similar to StackPanel, but it positions child elements sequentially breaking content to the next line when it reaches the edge of its parent container. This is useful for displaying an indeterminate number of items with a more interesting layout than a simple list, much like Windows Explorer does.


Detailed WrapPanel class information.


DockPanel enables easy docking of elements to an entire side of the panel, stretching it to fill the entire width or height. It also enables a single element to fill all the remaining space unused by the docked elements.


Detailed DockPanel class information.


Grid is the most versatile panel. It allows you to define flexible row and column groupings to arrange its children without relying on wrapping. Working with a Grid is a lot like working with a Table in HTML.


Detailed Grid class information.

© 2017 Noesis Technologies