Dock includes several dock types that arrange their children using familiar panel layouts. These complement ProportionalDock and are useful for static or grid based layouts.
IDockDock behaves like Avalonia’s DockPanel. Set the Dock property on each
dockable to position it on the left, right, top or bottom edge. When
LastChildFill is true (the default) the final child stretches to fill any
remaining space. Dock docks are commonly used for toolbars or status bars that
surround a central document area.
<dock:DockDock LastChildFill="True">
<ToolDock dock:Dock="Left" />
<DocumentDock />
</dock:DockDock>
IStackDock arranges its dockables in a line. The Orientation property chooses between horizontal and vertical layout and Spacing inserts a gap between the items.
var stack = new StackDock
{
Orientation = Orientation.Vertical,
Spacing = 6
};
Stack docks work well for tool strips or areas with a fixed ordering of items.
IGridDock exposes ColumnDefinitions and RowDefinitions strings that mirror Avalonia’s Grid syntax. Use them to create complex grids with resizable cells. Place a GridDockSplitter between cells to let the user resize rows or columns at runtime.
var grid = new GridDock
{
ColumnDefinitions = "2*,*",
RowDefinitions = "Auto,*"
};
<GridDockSplitter ResizeDirection="Columns" />
IWrapDock lays out items in sequence and wraps them to a new line when there is not enough space. The Orientation property defines whether wrapping occurs horizontally or vertically.
IUniformGridDock divides the available space into equally sized cells. Specify Rows and Columns to control the grid dimensions. All dockables within the dock occupy a single cell.
var uniform = new UniformGridDock { Rows = 2, Columns = 3 };
These dock types are best suited for static tool areas or dashboards where the layout seldom changes. They can be combined with other docks inside an IRootDock just like proportional docks. Refer to Model Control Interfaces for the complete list of available dock contracts.
For an overview of all guides see the documentation index.