
LinkingTool
lets a user draw a new Northwoods.GoXam.Link between two ports, using a mouse-drag operation.[DesignTimeVisible(false)] [StyleTypedProperty(Property="FocusVisualStyle", StyleTargetType=System.Windows.Controls.Control)] [XmlLangProperty("Language")] [UsableDuringInitialization(true)] [RuntimeNameProperty("Name")] [UidProperty("Uid")] [TypeDescriptionProvider(MS.Internal.ComponentModel.DependencyObjectProvider)] [NameScopeProperty("NameScope", System.Windows.NameScope)] public class LinkingTool : LinkingBaseTool, IDiagramTool
By default an instance of this tool is installed as a mouse-move tool in each Northwoods.GoXam.Diagram, as the value of Northwoods.GoXam.Diagram.LinkingTool. CanStart calls FindLinkablePort to find a valid "port" element from which (or to which) the user may interactively draw a new link. DoActivate sets up a temporary link and two temporary nodes, one at the start port and one following the mouse.
This tool does not utilize any Northwoods.GoXam.Adornments or tool handles.
This tool conducts a model edit (DiagramTool.StartTransaction and DiagramTool.StopTransaction) while the tool is DiagramTool.Active.
If you want to programmatically start a new user mouse-gesture to draw a new link from a given FrameworkElement
that may be a "port" element or may be within the visual tree of a "port" element, set the StartElement property to let FindLinkablePort find the real "port" element. Then start and activate this tool: myDiagram.LinkingTool.StartElement = ...; myDiagram.CurrentTool = myDiagram.LinkingTool; myDiagram.CurrentTool.DoActivate();
System.Object
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Media.Visual
System.Windows.UIElement
System.Windows.FrameworkElement
Northwoods.GoXam.Tool.DiagramTool
Northwoods.GoXam.Tool.LinkingBaseTool
Northwoods.GoXam.Tool.LinkingTool