Dock Manager и элементы докинга¶
Компонент DockManager
позволяет создавать интерфейс докинга в стиле Visual Studio. Dock-панели и Document-панели являются базовыми элементами интерфейса докинга. Dock-панели используются для реализации панелей инструментов. Document-панели предназначены для отображения основного содержимого окна. Вы можете объединять несколько Document-панелей в специальном контейнере для реализации интерфейса с вкладками (MDI - Multiple Document Interface).
Библиотека Docking поддерживает операции с элементами докинга (панелями и документами) во время выполнения как пользователями, так и в коде. Пользователи могут изменять макет элементов докинга и переводить их в плавающий режим с помощью операций перетаскивания и контекстных меню. Разделители между соседними элементами позволяют изменять их размер во время выполнения. Кнопки 'Закрепить' в заголовках панелей обеспечивают функцию автоматического скрытия, которая позволяет пользователю сворачивать и восстанавливать панели.
С библиотекой Docking вы можете использовать шаблон проектирования MVVM для заполнения интерфейса докинга Dock-панелями и Document-панелями, а также для предоставления содержимого для панелей.
Начало работы с Docking UI¶
В следующих разделах демонстрируется, как создавать примеры интерфейсов докинга с нуля:
Dock-панели¶
Dock-панели (объекты DockPane
) позволяют создавать закрепляемые и плавающие панели инструментов. Панели могут отображаться рядом друг с другом или в виде вкладок. Они также поддерживают функцию автоматического скрытия.
Для создания интерфейса докинга в XAML или code-behind Dock-панели необходимо объединять в контейнеры (группы). Например, вы можете объединить элементы в контейнере DockGroup
, чтобы отображать их рядом друг с другом, горизонтально или вертикально. Если вы объедините панели в контейнере TabbedGroup
, они будут отображаться в виде вкладок. Контейнеры также могут включать другие контейнеры в качестве дочерних элементов.
Дополнительную информацию см. в разделе: Dock-панели и контейнеры
Document-панели¶
Используйте Document-панели (объекты DocumentPane
) для отображения основного содержимого вашего окна. Если вы создаете несколько Document-панелей, вы можете объединить их в контейнере DocumentGroup
. DocumentGroup
- это специальный контейнер, который представляет Document-панели в виде вкладок (аналогично контейнеру TabbedGroup
, используемому для представления Dock-панелей в виде вкладок).
Document-панели можно переводить в плавающий режим. В отличие от Dock-панелей, Document-панели не поддерживают функцию автоматического скрытия.
Вы можете создавать два или более контейнеров DocumentGroup
, каждый из которых отображает свой собственный набор Document-панелей.
Дополнительную информацию см. в разделе: Document-панели
Подсказки докинга¶
Когда пользователь перетаскивает Dock-панель или Document-панель над другой панелью или контейнером, DockManager показывает подсказки докинга, которые помогают выполнять операции закрепления. Перетаскивание элемента на определенную подсказку закрепляет элемент в соответствующей позиции.
Если пользователь отпускает элемент вне подсказки докинга, элемент переводится в плавающий режим.
Контекстные меню¶
Библиотека Docking предоставляет встроенные контекстные меню для Dock-панелей и Document-панелей. Эти меню содержат команды для выполнения common операций закрепления на панелях.
Запрет определенных операций с элементами докинга¶
Dock-панели и Document-панели отображают предопределенные кнопки в своих заголовках, используемые для выполнения common операций с панелями.
DockManager предоставляет опции и события для управления операциями докинга на панелях. Дополнительные сведения см. в разделе: Dock-панели и контейнеры - Опции времени выполнения для Dock-панелей
Сохранение и восстановление макета панелей¶
Вы можете сохранить текущий макет докинга в поток, а затем восстановить его при необходимости. Эта функция позволяет сохранять макет, когда пользователь закрывает приложение, и загружать сохраненный макет при следующем запуске приложения. Дополнительную информацию см. в разделе: Сохранение и восстановление макета панелей
См. также¶
* Эта страница была переведена с помощью нейросети Deepseek.