Как создать закрепляемую вкладку, например IE9 или Chrome - PullRequest
1 голос
/ 14 января 2012

Я хочу реализовать интерфейс, похожий на IE9 или Chrome.

Мне нравится закрепляемая вкладка, ее можно перетащить в новое окно.

и окно также можно поместитьв качестве вкладки.

Кто-нибудь может дать мне идею, как его реализовать, или библиотеку, или пример?

спасибо.

AvalonDock очень хорош, но не совсем так, как я хотел.

Ответы [ 3 ]

1 голос
/ 14 января 2012

В WPF нет встроенного элемента управления док-станцией (чертовски стыдно). Вы можете взглянуть на Sofa Docking , которая является док-библиотекой с открытым исходным кодом, основанной на AvalonDock.

Я использую DevExpress ' управление стыковкой (не бесплатно). Это не идеально, но их поддержка клиентов - одна из лучших, и это очень важно для меня. Мне было очень трудно найти какие-либо ресурсы и ответы, касающиеся AvalonDock и SofaDock.

0 голосов
/ 17 января 2012
Shell 
{
    List<Content> Contents
}
  1. Перетаскивание: используйте PopUp / adorn / visualbrush для создания миниатюры содержимого.
  2. Удаление: если из родительской оболочки создайте новую оболочку и добавьте перетаскиваемый контент вСписок содержимого. Извлеките его из исходной родительской оболочки.
0 голосов
/ 15 января 2012

Вы можете посмотреть на Infragistics xamDockManager: http://www.infragistics.com/dotnet/netadvantage/wpf/xamdockmanager.aspx#Overview

Если вы сделаете это, вы будете использовать DocumentContentHost: http://help.infragistics.com/NetAdvantage/WPF/Current/CLR4.0/?page=xamDockManager_Add_Panes_to_the_DocumentContentHost_Object.html

Тогда вы захотите отключить стыковку ContentPanes справа, слева, сверху и снизу, и есть логическое свойство, которое можно установить для управления этим, например AllowDockingLeft: http://help.infragistics.com/NetAdvantage/WPF/Current/CLR4.0/?page=InfragisticsWPF4.DockManager.v11.2~Infragistics.Windows.DockManager.ContentPane~AllowDockingLeft.html

...