Перейти к содержанию

Dock Manager и элементы докинга

Компонент DockManager позволяет создавать интерфейс докинга, вдохновлённый Visual Studio. Dock-панели и Document-панели — это базовые элементы интерфейса докинга. Dock-панели используются для реализации инструментальных панелей. Document-панели предназначены для отображения основного содержимого окна. Вы можете объединять несколько Document-панелей в специальном контейнере, чтобы реализовать MDI с вкладками (Multiple Document Interface).

docking-ui-dockpanes-and-documentpanes-v2

Библиотека докинга поддерживает операции над элементами докинга (панелями и документами) пользователями и в коде. Пользователи могут переупорядочивать размещение элементов докинга и делать их плавающими с помощью перетаскивания и контекстных меню. Разделители между соседними элементами позволяют выполнять операции изменения размера во время работы. Кнопки «Pin» в заголовках панелей поддерживают функцию автоскрытия, которая позволяет пользователю сворачивать и восстанавливать панели.

С помощью библиотеки докинга вы можете использовать паттерн проектирования MVVM, чтобы заполнять интерфейс докинга Dock-панелями и Document-панелями, а также предоставлять содержимое для панелей.

Начало работы с интерфейсом докинга

Следующие разделы демонстрируют, как создавать образцовые интерфейсы докинга с нуля:

Dock-панели

Dock-панели (объекты DockPane) позволяют создавать закрепляемые и плавающие инструментальные панели. Панели можно отображать рядом друг с другом или как вкладки. Они также поддерживают функцию автоскрытия.

dockingui-dockpanes

Чтобы создать интерфейс докинга в XAML или code-behind, Dock-панели нужно объединить в контейнеры (группы). Например, вы можете объединить элементы в контейнер DockGroup, чтобы отобразить их рядом друг с другом, горизонтально или вертикально. Если вы объедините панели в контейнер TabbedGroup, они будут отображаться как вкладки. Контейнеры также могут включать другие контейнеры в качестве дочерних элементов.

Чтобы узнать больше, смотрите следующий раздел: Dock-панели и контейнеры

Document-панели

Используйте Document-панели (объекты DocumentPane), чтобы отображать основное содержимое вашего окна. Если вы создаёте несколько Document-панелей, вы можете объединить их в контейнер DocumentGroup. DocumentGroup — это специальный контейнер, представляющий Document-панели как вкладки (аналогично контейнеру TabbedGroup, используемому для представления Dock-панелей как вкладок).

dockingui-documentpanes

Document-панели можно делать плавающими. В отличие от Dock-панелей, Document-панели не поддерживают функцию автоскрытия.

Вы можете создать два или более контейнера DocumentGroup, каждый из которых отображает свой набор Document-панелей.

Чтобы узнать больше, смотрите следующий раздел: Document-панели

Подсказки докинга

Когда пользователь перетаскивает Dock-панель или Document-панель над другой панелью или контейнером, DockManager показывает подсказки докинга, которые помогают выполнять операции закрепления. Сброс элемента над определённой подсказкой закрепляет элемент в соответствующей позиции.

docking-dock-hints

Если пользователь сбрасывает элемент вне подсказки докинга, элемент становится плавающим.

Контекстные меню

Библиотека докинга предоставляет встроенные контекстные меню для Dock-панелей и Document-панелей. Эти меню содержат команды для выполнения распространённых операций докинга над панелями.

dockingui-contextmenus

Обработайте событие DockManager.DockItemContextMenuOpening, чтобы настроить контекстные меню или предотвратить их отображение.

Предотвращение определённых операций над элементами докинга

Dock-панели и Document-панели отображают в своих заголовках предопределённые кнопки, используемые для выполнения распространённых операций над панелями.

dockpane-headerbuttons

DockManager предоставляет опции и события для управления операциями докинга над панелями. Подробнее смотрите в следующем разделе: Dock-панели и контейнеры - Опции для dock-панелей во время работы

Сохранение и восстановление размещения панелей

Вы можете сохранить текущее размещение докинга в поток, а затем восстановить его при необходимости. Эта функция позволяет сохранять размещение, когда пользователь закрывает приложение, и перезагружать сохранённое размещение при следующем запуске приложения. Дополнительную информацию смотрите в следующем разделе: Сохранение и восстановление размещения панелей

Смотрите также



* Эта страница переведена с использованием технологий машинного перевода.