LinkingBaseTool
Diese abstrakte Klasse ist die Basisklasse für LinkingTool und RelinkingTool.
Erbt von: DiagramTool
Konstruktoren
protected LinkingBaseTool()
linkingBaseTool = LinkingBaseTool()
Dies bewirkt eine gemeinsame Initialisierung für die Verknüpfungswerkzeuge.
Eigenschaften
protected bool Forwards { get; set; }
value = linkingBaseTool.Forwards
linkingBaseTool.Forwards = value
Bekommt oder stellt fest, ob die Verknüpfungsoperation in Vorwärtsrichtung ist.
protected Node OriginalFromNode { get; set; }
value = linkingBaseTool.OriginalFromNode
linkingBaseTool.OriginalFromNode = value
Bekommt oder setzt den ursprünglichen Knoten, von dem aus der Link verbunden wurde.
protected FrameworkElement OriginalFromPort { get; set; }
value = linkingBaseTool.OriginalFromPort
linkingBaseTool.OriginalFromPort = value
Erhält oder setzt den FrameworkElement, der der Port ist, von dem aus der Link verbunden wurde.
protected Link OriginalLink { get; set; }
value = linkingBaseTool.OriginalLink
linkingBaseTool.OriginalLink = value
Bekommt oder setzt den ursprünglichen Link, der durch RelinkingTool wieder verbunden wird.
protected Node OriginalToNode { get; set; }
value = linkingBaseTool.OriginalToNode
linkingBaseTool.OriginalToNode = value
Bekommt oder setzt den ursprünglichen Knoten, mit dem der Link verbunden war.
protected FrameworkElement OriginalToPort { get; set; }
value = linkingBaseTool.OriginalToPort
linkingBaseTool.OriginalToPort = value
Erhält oder setzt den FrameworkElement, der der Port ist, mit dem der Link verbunden war.
public double PortGravity { get; set; }
value = linkingBaseTool.PortGravity
linkingBaseTool.PortGravity = value
Bestimmt oder legt den Abstand fest, bei dem das Link-Snapping auftritt.
protected FrameworkElement TargetPort { get; set; }
value = linkingBaseTool.TargetPort
linkingBaseTool.TargetPort = value
Bekommt oder setzt einen vorgeschlagenen FrameworkElement @ Port zum Verbinden eines Links.
public Node TemporaryFromNode { get; set; }
value = linkingBaseTool.TemporaryFromNode
linkingBaseTool.TemporaryFromNode = value
Erhält oder setzt den temporären Knoten am "von" Ende des Links.
protected FrameworkElement TemporaryFromPort { get; }
value = linkingBaseTool.TemporaryFromPort
Bekommt das Element, das den Port für TemporaryFromNode darstellt.
public Link TemporaryLink { get; set; }
value = linkingBaseTool.TemporaryLink
linkingBaseTool.TemporaryLink = value
Bekommt oder setzt den temporären Link, der angezeigt wird, während der Benutzer einen Link zeichnet oder wieder verbindet.
public DataTemplate TemporaryLinkTemplate { get; set; }
value = linkingBaseTool.TemporaryLinkTemplate
linkingBaseTool.TemporaryLinkTemplate = value
Bekommt oder setzt das DataTemplate, das zum Rendern von TemporaryLink verwendet wird.
public DataTemplate TemporaryNodeTemplate { get; set; }
value = linkingBaseTool.TemporaryNodeTemplate
linkingBaseTool.TemporaryNodeTemplate = value
Bekommt oder setzt die DataTemplate, die zum Rendern der TemporaryFromNode und TemporaryToNode verwendet werden.
public Node TemporaryToNode { get; set; }
value = linkingBaseTool.TemporaryToNode
linkingBaseTool.TemporaryToNode = value
Erhält oder setzt den temporären Knoten am "to" -Ende des Links.
protected FrameworkElement TemporaryToPort { get; }
value = linkingBaseTool.TemporaryToPort
Bekommt das Element, das den Port für TemporaryToNode darstellt.
protected Dictionary<FrameworkElement, bool> ValidPortsCache { get; set; }
value = linkingBaseTool.ValidPortsCache
linkingBaseTool.ValidPortsCache = value
Bekommt oder setzt das Wörterbuch, das verwendet wird, um Ports zu verfolgen, für die ein Link gültig sein kann.
Methoden
protected virtual void CopyPortProperties(Node realnode, FrameworkElement realport, Node tempnode, FrameworkElement tempport, bool toend)
linkingBaseTool.CopyPortProperties(realnode, realport, tempnode, tempport, toend)
Machen Sie einen temporären Port aussehen und handeln wie ein echter.
- realnode
- realport
- tempnode
- tempport
- toend
protected virtual Link CreateTemporaryLink()
result = linkingBaseTool.CreateTemporaryLink()
Erstellen Sie einen Link, um als temporärer Link zu fungieren.
protected virtual Node CreateTemporaryNode(bool toend)
result = linkingBaseTool.CreateTemporaryNode(toend)
Konstruieren Sie einen Knoten, um als temporärer Knoten zu fungieren.
- toend
Rückgabe: Ein ungebundener Knoten, der durch TemporaryNodeTemplate oder, wenn dieser null ist, durch die Standardvorlage mit dem Namen "DefaultTemporaryNodeTemplate" definiert wird.
public override void DoMouseMove()
linkingBaseTool.DoMouseMove()
Die Mausbewegung führt dazu, dass der temporäre Knoten dorthin bewegt wird, wo sich der gültige TargetPort befindet, oder dorthin, wo sich die Maus befindet, wenn kein gültiger Zielanschluss in der Nähe ist.
public override void DoStart()
linkingBaseTool.DoStart()
Wenn nötig, rufen Sie Boolean an) und CreateTemporaryLink und fangen Sie die Maus ein.
public override void DoStop()
linkingBaseTool.DoStop()
Lassen Sie die Maus-Erfassung los und löschen Sie jeden temporären Zustand.
protected virtual FrameworkElement FindTargetPort(bool toend)
result = linkingBaseTool.FindTargetPort(toend)
Finden Sie einen Port, mit dem der Benutzer einen gültigen Link vervollständigen kann.
- toend
- True, wenn Sie nach einem "to" -Port suchen
Rückgabe: ein FrameworkElement, das einen gültigen Port darstellt, oder null, wenn sich kein solcher Port in der Nähe des aktuellen Mauspunkts befindet (innerhalb von PortGravity Entfernung)
public virtual bool IsInSameNode(FrameworkElement fromport, FrameworkElement toport)
result = linkingBaseTool.IsInSameNode(fromport, toport)
Dieses Prädikat ist wahr, wenn sich beide Argument-Ports im selben Knoten befinden.
- fromport
- toport
public virtual bool IsLinked(FrameworkElement fromport, FrameworkElement toport)
result = linkingBaseTool.IsLinked(fromport, toport)
Dieses Prädikat ist wahr, wenn es einen Link im Modell gibt, der von zu geht.
- fromport
- ein FrameworkElement, der den "from" -Port darstellt
- toport
- ein FrameworkElement, der den "an"-Port darstellt
public virtual bool IsValidFrom(Node fromnode, FrameworkElement fromport)
result = linkingBaseTool.IsValidFrom(fromnode, fromport)
Dieses Prädikat gilt, wenn es zulässig ist, einen Link von einem bestimmten Knoten / Port zu verbinden.
- fromnode
- fromport
Rückgabe: Falsch, wenn der in einer Schicht ist, die nicht AllowLink ist. Falsch, wenn DependencyObject ist, ist entweder falsch oder null. Falsch, wenn die Anzahl der mit dem Link verbundenen Links den Wert DependencyObject überschreiten würde. Andernfalls ist es wahr.
public virtual bool IsValidLink(Node fromnode, FrameworkElement fromport, Node tonode, FrameworkElement toport)
result = linkingBaseTool.IsValidLink(fromnode, fromport, tonode, toport)
Dieses Prädikat sollte zutreffen, wenn es logischerweise gültig ist, einen Link von einem Knoten/Port mit einem anderen Knoten/Port zu verbinden.
- fromnode
- Der "from" Node
- fromport
- das "von" FrameworkElement
- tonode
- der "to" Node (vielleicht das gleiche wie )
- toport
- das "to" FrameworkElement (vielleicht das gleiche wie )
Rückgabe: Falsch, wenn FrameworkElement) ist falsch für den und . Falsch, wenn FrameworkElement ist falsch für den und . Falsch, wenn FrameworkElement ist wahr, wenn DependencyObject nicht für beide Ports gilt. Falsch, wenn FrameworkElement gilt, wenn DependencyObject für beide Ports gilt. Falsch, wenn versucht wird, mit dem eigenen Beschriftungsknoten des Links zu verlinken. False, wenn Objekt oder eine der modellspezifischen IsRelinkValid Methoden falsch ist, je nachdem, ob OriginalLinknull (ein neuer Link) oder nicht-null (ein Relink) ist.
public virtual bool IsValidTo(Node tonode, FrameworkElement toport)
result = linkingBaseTool.IsValidTo(tonode, toport)
Dieses Prädikat gilt, wenn es zulässig ist, einen Link mit einem bestimmten Knoten / Port zu verbinden.
- tonode
- toport
Rückgabe: Falsch, wenn der in einer Schicht ist, die nicht AllowLink ist. Falsch, wenn DependencyObject ist, ist entweder falsch oder null. Falsch, wenn die Anzahl der mit dem Link verbundenen Links den Wert DependencyObject überschreiten würde. Andernfalls ist es wahr.
protected virtual void SetNoTargetPortProperties(Node tempnode, FrameworkElement tempport)
linkingBaseTool.SetNoTargetPortProperties(tempnode, tempport)
Setzen Sie temporäre Port-Eigenschaften auf neutrale Werte zurück, wenn kein Ziel-Port vorhanden ist.
- tempnode
- tempport
Felder
public static readonly DependencyProperty PortGravityProperty
value = LinkingBaseTool.PortGravityProperty
Identifiziert die Abhängigkeitseigenschaft PortGravity.
public static readonly DependencyProperty TemporaryLinkTemplateProperty
value = LinkingBaseTool.TemporaryLinkTemplateProperty
Identifiziert die Abhängigkeitseigenschaft TemporaryLinkTemplate.
public static readonly DependencyProperty TemporaryNodeTemplateProperty
value = LinkingBaseTool.TemporaryNodeTemplateProperty
Identifiziert die Abhängigkeitseigenschaft TemporaryNodeTemplate.