Как бы вы спроектировали библиотеку стыковки для WPF?

Я хочу реализовать док-библиотеку в wpf с поведением, аналогичным Adobe Photoshops CS3.

Вы можете присоединять плавающие панели к другим панелям или док-станциям, перетаскивая их мышью. Доки имеют фиксированное местоположение.

Вы бы использовали центральный класс Docking Manager? Как будет выглядеть поток сообщений? Я думал об использовании 2 интерфейсов, называемых IDock и IDockable, с панелью, реализующей оба, и док-станцией, реализующей только IDock.

Я ищу некоторые конкретные шаблоны проектирования или принципы объектно-ориентированного программирования, которые могли бы помочь мне здесь, чтобы общий дизайн был надежным. Я знаю, что не очень точен здесь, но это потому, что я не знаю, с чего начать.

Пример движения панели к панели:

http://dl.getdropbox.com/u/133877/Misc/Stackoverflow/wpf_dock_01.png

http://dl.getdropbox.com/u/133877/Misc/Stackoverflow/wpf_dock_02.png


person kitsune    schedule 23.11.2008    source источник


Ответы (1)


Может быть, вы могли бы начать изучать http://www.codeplex.com/AvalonDock, который является док-библиотекой wpf. . Наверное, есть чему поучиться.

person Community    schedule 23.11.2008
comment
Я посмотрел на это, прежде чем задать этот вопрос, это выглядит довольно грязно - person kitsune; 23.11.2008
comment
Я бы не стал использовать этот продукт. 3 Вирусные движки на VirusTotal обнаружили вредоносное ПО i.stack.imgur.com/gFGmG.png - person JGFMK; 01.08.2019