Как создать закрепляемую вкладку, такую как IE9 или Chrome
Я хочу реализовать интерфейс, похожий на IE9 или Chrome.
Мне нравится закрепляемая вкладка, ее можно перетащить в новое окно.
и окно также может быть введено в качестве вкладки.
Кто-нибудь может дать мне представление, как это реализовать, или библиотека, или пример?
благодарю вас.
AvalonDock очень хорош, но не совсем так, как я хотел.
3 ответа
Shell
{
List<Content> Contents
}
- Перетащите: используйте PopUp/adorn/visualbrush для создания эскиза контента.
- Drop: если из родительской оболочки создайте новую оболочку и добавьте перетаскиваемый контент в список содержимого. Извлеките его из исходной родительской оболочки.
В WPF нет встроенного элемента управления док-станцией (это чертовски стыдно). Вы можете взглянуть на Sofa Docking, библиотеку стыковки с открытым исходным кодом, основанную на AvalonDock.
Я использую контроль стыковки DevExpress (не бесплатно). Это не идеально, но их поддержка клиентов - одна из лучших, и это очень важно для меня. Мне было очень трудно найти какие-либо ресурсы и ответы, касающиеся AvalonDock и SofaDock.
Вы можете посмотреть на Infragistics xamDockManager: http://www.infragistics.com/dotnet/netadvantage/wpf/xamdockmanager.aspx
Если вы сделаете это, вы будете использовать 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