Hello, I am working on a graphical editor based on CodeProject WPFDiagramDesigner:
My first edition used WPF Docking Library.
I needed more than one sheet, so I put many TabItem-derived classes into a DockManager. All was working well, I could drag graphical objects from library pane to sheet and connect them with connectors. This is the connection process description:
|If you move your mouse over a designer item four visual elements of type
Connector will appear at each side of the item. This default layout is defined in the
ConnectorDecoratorTemplate and is part of the default
DesignerItem template. Now move your mouse over one of the connectors and the cursor changes to a cross.
|If you now click the left mouse button and start dragging, the connector will create an adorner of type
ConnectorAdorner. This adorner is responsible for drawing the path between the source connector and the current mouse position. While dragging, the adorner continuously does hit-testing against the
DesignerCanvas to check if the mouse is over a potential sink connector.
|If you release the mouse button over a
Connector element the
ConnectorAdorner creates a new
Connection instance and adds it to the designer canvas' children. If the mouse button is released elsewhere no
Connection instance is created.
Some weeks ago I switched to Avalon (much more clean and graphically appealing), putting my sheets in anAvalonDock.DocumentPane (I tried with DockablePane too). Everythink is working except for connections, which get created but not drawn on screen.
Can you give me some help to take the right direction ? Thanks a lot.