AvalonDock — это библиотека управления докингом окон для приложений на платформе WPF (Windows Presentation Foundation). Она разработана для упрощения создания интерфейсов со свободно размещаемыми панелями инструментов и документами, поддерживает перетаскивание вкладок, закрепление и открепление панелей, а также сохранение и восстановление пользовательских раскладок. AvalonDock применяется в настольных приложениях, где требуется гибкое распределение окон и привычная пользователю модель работы с документами и панелями, схожая с интерфейсами профессиональных приложений.
Проект исторически возник как компонент экосистемы WPF и неоднократно развивался сообществом и отдельными авторами. В разных версиях реализованы возможности для кастомизации внешнего вида и поведения, интеграции с командной моделью WPF и привязками данных. При отсутствии официальной или единообразной документации в одном месте описание функциональности формируется на основе исходного кода и практик применения в проектах, где требуются докируемые интерфейсы с сохранением состояния и управлением вкладками.
- Докинг-панели: размещение и закрепление панелей инструментов и окон документов в рабочей области.
 - Вкладки документов: табы для документов с возможностью перетаскивания, переупорядочивания и извлечения во внешние окна.
 - Перетаскивание (drag-and-drop): интуитивная поддержка перетаскивания панелей и вкладок внутри приложения.
 - Сохранение и восстановление раскладки: сериализация состояния расположения панелей и вкладок для последующего восстановления.
 - Кастомизация внешнего вида: темы и стили для адаптации интерфейса под дизайн приложения.
 - Интеграция с WPF: поддержка привязок данных, команд и шаблонов контента.
 - Множественные режимы докинга: прикрепление к граням, вложенные группировки и плавающие окна.
 - Управление фокусом и навигацией: механизмы переключения между документами и панелями, поддержка клавиатурных операций.
 - Поддержка сложных макетов: вертикальные и горизонтальные док-сплиты, панели-ящики и составные области.
 - Расширяемость: API и события для добавления пользовательской логики поведения при докинге и изменении раскладки.