This document provides a high-level look at the major components that make up Dock. It explains how they cooperate so you can understand the design before reading the deep dive.
PreventSizeConflicts
property that stops docking tools together when their fixed sizes clash.DockManager
.flowchart TD
UI[DockControl]
State[DockControlState]
Manager[DockManager]
Factory[IFactory / FactoryBase]
VM[Dock view models]
Serializer[DockSerializer]
UI --> State
State --> Manager
Manager --> Factory
Factory --> VM
UI --> VM
Serializer <--> VM
DockControl
displays the layout created by the factory.DockControlState
which consults
DockManager
to validate docking actions.DockManager
modifies the view models by invoking factory methods.DockSerializer
can load or save the view models to JSON files.Customising any of these pieces lets you extend Dock with application specific behaviour. For an in-depth walkthrough see the deep dive.