DraggingTool
Der DraggingTool wird verwendet, um ausgewählte Teile mit der Maus zu verschieben oder zu kopieren.
Erbt von: DiagramTool
Eigenschaften
public Dictionary<Part, Info> CopiedParts { get; set; }
value = draggingTool.CopiedParts
draggingTool.CopiedParts = value
Bekommt oder legt die Sammlung von Teilen fest, die dieses Tool kopiert hat.
public bool CopiesEffectiveCollection { get; set; }
value = draggingTool.CopiesEffectiveCollection
draggingTool.CopiesEffectiveCollection = value
Bekommt oder stellt fest, ob für einen Kopiervorgang die erweiterte Auswahl kopiert wird oder nur ausgewählte Teile.
protected Part CurrentPart { get; set; }
value = draggingTool.CurrentPart
draggingTool.CurrentPart = value
Bekommt oder setzt das Teil gefunden am Mauspunkt von StandardMouseSelect.
public bool DraggableLinks { get; set; }
value = draggingTool.DraggableLinks
draggingTool.DraggableLinks = value
Bestimmt oder legt fest, ob der Benutzer einen einzelnen Link ziehen kann, ihn von seinen verbundenen Knoten trennt und ihn möglicherweise mit gültigen Ports verbindet, wenn der Link gelöscht wird.
protected Link DraggedLink { get; set; }
value = draggingTool.DraggedLink
draggingTool.DraggedLink = value
Bekommt oder setzt den Link, der gezogen und wieder verbunden werden kann, wenn DraggableLinks wahr ist.
public Dictionary<Part, Info> DraggedParts { get; set; }
value = draggingTool.DraggedParts
draggingTool.DraggedParts = value
Bekommt oder legt die Sammlung von Teilen, die gezogen werden.
protected bool DragOutStarted { get; set; }
value = draggingTool.DragOutStarted
draggingTool.DragOutStarted = value
Bekommt oder stellt fest, ob ein potenziell externer Drag-and-Drop von diesem Tool gestartet wurde.
protected Part DragOverPart { get; set; }
value = draggingTool.DragOverPart
draggingTool.DragOverPart = value
Bekommt oder setzt einen Teil, der nicht gezogen wird, dass die Maus vorbei ist, und setzt seine IsDropOntoAccepted @ Eigentum entsprechend.
public DragOverSnapArea DragOverSnapArea { get; set; }
value = draggingTool.DragOverSnapArea
draggingTool.DragOverSnapArea = value
Bestimmt oder legt fest, ob das Ziehen von Teilen über das Diagramm oder über Teile dazu führt, dass ihre Position in Rasterpunkte eingerastet wird.
public bool DropOntoEnabled { get; set; }
value = draggingTool.DropOntoEnabled
draggingTool.DropOntoEnabled = value
Bekommt oder stellt fest, ob stationäre Teile ihre IsDropOntoAccepted @ Eigenschaft vorübergehend während eines Drags auf true gesetzt bekommen.
internal bool Dropped { get; set; }
value = draggingTool.Dropped
draggingTool.Dropped = value
Bekommt oder stellt fest, ob ein Drop nach dem Start eines Drag-Outs aufgetreten ist.
public string FromPortId { get; set; }
value = draggingTool.FromPortId
draggingTool.FromPortId = value
Bekommt oder setzt die Port-Kennung, die verwendet wird, wenn Point) erstellt einen neuen Link, weil DropOntoBehavior AddsLinkFromNode, AddsLinkToNode oder SplicesIntoLink ist.
public EffectiveCollectionInclusions Inclusions { get; set; }
value = draggingTool.Inclusions
draggingTool.Inclusions = value
Bestimmt oder legt fest, ob ein Knoten verschoben oder kopiert wird, umfasst auch alle Kinder des Knotens und ihre Nachkommen sowie die Links zu diesen zusätzlichen Knoten.
public bool IsRealtime { get; set; }
value = draggingTool.IsRealtime
draggingTool.IsRealtime = value
Bekommt oder stellt fest, ob sich Teile während eines Drags kontinuierlich bewegen oder ob stattdessen ein einfaches Objekt gezogen wird, wobei sich die Teile tatsächlich nur mit der Maus nach oben bewegen.
public static DraggingTool Source { get; internal set; }
value = DraggingTool.Source
DraggingTool.Source = value
Dies ist eine experimentelle Eigenschaft, die die DraggingTool erhält, die die Quelle eines simulierten Drag-and-Drop ist.
protected Point StartPoint { get; set; }
value = draggingTool.StartPoint
draggingTool.StartPoint = value
Bekommt oder setzt den Mauspunkt, von dem aus sich Teile zu bewegen beginnen.
public string ToPortId { get; set; }
value = draggingTool.ToPortId
draggingTool.ToPortId = value
Bekommt oder setzt die Port-Kennung, die verwendet wird, wenn Point) erstellt einen neuen Link, weil DropOntoBehavior AddsLinkFromNode, AddsLinkToNode oder SplicesIntoLink ist.
Methoden
public virtual IDataCollection AcceptData(IDataObject dataobj)
result = draggingTool.AcceptData(dataobj)
Konvertieren Sie ein IDataObject in ein IDataCollection.
- dataobj
- Ein IDataObject, typischerweise der Wert von DragEventArgs.Data
Rückgabe: Ein IDataCollection, das das Diagrammmodell kopieren kann
public override bool CanStart()
result = draggingTool.CanStart()
Dieses Tool kann ausgeführt werden, wenn dieses Diagramm die Auswahl und Moves / Copies / Drag-Out ermöglicht, wenn die Maus weit genug weggezogen ist, um ein Drag und kein Klick zu sein, und wenn FindDraggablePart einen auswählbaren Teil am Maus-Down-Punkt gefunden hat.
public virtual Dictionary<Part, Info> ComputeEffectiveCollection(IEnumerable<Part> parts)
result = draggingTool.ComputeEffectiveCollection(parts)
Finden Sie die tatsächliche Sammlung von Knoten und Links, die verschoben oder kopiert werden sollen, wenn Sie eine erste Sammlung erhalten.
- parts
Rückgabe: a Wörterbuch der Teile, abgebildet auf Infos mit ihren ursprünglichen Standorten
protected virtual Point ComputeFocusPoint(IEnumerable<Part> parts)
result = draggingTool.ComputeFocusPoint(parts)
Bestimmen Sie den Fokuspunkt oder Hot-Spot-Punkt für einen externen Drag.
- parts
- Die kopierten Nodes und Links werden gezogen
Rückgabe: a Punkt in den Modellkoordinaten
protected virtual Point ComputeMove(Node n, Point newloc, Dictionary<Part, Info> draggedparts)
result = draggingTool.ComputeMove(n, newloc, draggedparts)
Diese Methode berechnet den neuen Standort für einen Knoten, bei einem neuen gewünschten Standort und einem Wörterbuch gezogener Teile.
- n
- Der Knoten wird bewegt
- newloc
- der vorgeschlagene neue Standort für den Knoten , in Modellkoordinaten
- draggedparts
- Ein Wörterbuch von Teilen, die gezogen werden
Rückgabe: ein neuer Standort für den Knoten, in Modellkoordinaten
protected virtual bool ConsiderDragOver(Point pt, Part p)
result = draggingTool.ConsiderDragOver(pt, p)
Bestimmen Sie, ob die aktuell gezogene Auswahl (DraggedParts oder CopiedParts) gültig ist, um auf den Zielteil geworfen zu werden, abhängig von seinem DropOntoBehavior.
- pt
- normalerweise der aktuelle Mauspunkt, in Modellkoordinaten
- p
- Der Teil unter dem Mauspunkt, auf den die Auswahl fallen könnte
protected virtual bool ConsiderSnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.ConsiderSnapTo(moving, pt, snapper, draggedparts)
Dieses Prädikat gilt, wenn der gegebene Knoten die Bewegung des gegebenen Knotens steuern kann.
- moving
- Der Node wird gezogen
- pt
- a Punkt in Modellkoordinaten, typischerweise der aktuelle Mauspunkt
- snapper
- Der Knoten, der die Bewegung des Knotens steuern könnte
- draggedparts
- Ein Wörterbuch von Teilen, die gezogen werden
Rückgabe: true, wenn das nicht in der und ist DragOverSnapEnabled
public override void DoActivate()
draggingTool.DoActivate()
Starten Sie den Schleppvorgang.
public override void DoCancel()
draggingTool.DoCancel()
Abbrechen jeder ziehenden Operation.
protected virtual DragDropEffects DoDragDrop(IDataCollection data, DragDropEffects eff)
result = draggingTool.DoDragDrop(data, eff)
Rufen Sie DragDrop.DoDragDrop an.
- data
- Dies stellt die zu ziehenden Daten dar
- eff
- Dies wird als drittes Argument an DragDrop.DoDragDrop übergeben
Rückgabe: das Ergebnis des Aufrufs DragDrop.DoDragDrop
public virtual void DoDragEnter(DragEventArgs e)
draggingTool.DoDragEnter(e)
Aktualisieren Sie DragEventArgs.Effects.
- e
public virtual void DoDragLeave(DragEventArgs e)
draggingTool.DoDragLeave(e)
Wenn kein Tropfen erlaubt ist, entfernen Sie temporäre kopierte Teile.
- e
protected virtual void DoDragOut()
draggingTool.DoDragOut()
Starten Sie eine Drag-and-Drop-Operation.
public virtual void DoDragOver(DragEventArgs e)
draggingTool.DoDragOver(e)
Für Kopien oder externe Moves erstellen und verschieben Sie kopierte Teile für die Drag-and-Drop-Daten.
- e
public virtual void DoDrop(DragEventArgs e)
draggingTool.DoDrop(e)
Führen Sie den Drop eines Drag-and-Drops durch.
- e
public virtual void DoGiveFeedback(GiveFeedbackEventArgs e)
draggingTool.DoGiveFeedback(e)
Standardmäßig tut dies nichts.
- e
public override void DoKeyDown(KeyEventArgs e)
draggingTool.DoKeyDown(e)
Schalten zwischen Kopier- und Bewegungsmodus, während die Taste Steuertaste gedrückt oder freigegeben wird.
- e
public override void DoKeyUp(KeyEventArgs e)
draggingTool.DoKeyUp(e)
Schalten zwischen Kopier- und Bewegungsmodus, während die Taste Steuertaste gedrückt oder freigegeben wird.
- e
public override void DoMouseMove()
draggingTool.DoMouseMove()
Wenn der Benutzer die Maus bewegt, verschieben Sie die Sammlung von CopiedParts oder DraggedParts, je nachdem, ob MayCopy oder MayMove wahr ist.
public override void DoMouseUp()
draggingTool.DoMouseUp()
Auf einem Maus-up-Finish verschieben oder kopieren Sie die effektive Auswahl.
public virtual void DoQueryContinueDrag(QueryContinueDragEventArgs e)
draggingTool.DoQueryContinueDrag(e)
Wenn der Benutzer den ESCAPE-Schlüssel drückt, rufen Sie DoCancel an, um dieses Tool abzubrechen.
- e
public override void DoStop()
draggingTool.DoStop()
Beenden und Aufräumen nach einem Schleppvorgang.
protected virtual void DragOver(Point pt, bool moving, bool copying)
draggingTool.DragOver(pt, moving, copying)
Beeinflussen Sie einige stationäre, nicht ausgewählte Objekte, die unter einem bestimmten Punkt liegen, und betrachten Sie das automatische Scrollen.
- pt
- normalerweise der aktuelle Mauspunkt, in Modellkoordinaten
- moving
- copying
protected virtual void DropOnto(Point pt)
draggingTool.DropOnto(pt)
Führen Sie alle zusätzlichen Nebenwirkungen nach einem Tropfen.
- pt
protected virtual Part FindDraggablePart()
result = draggingTool.FindDraggablePart()
Geben Sie den auswählbaren und beweglichen/kopierbaren Teil an der Maus-Down-Stelle zurück.
Rückgabe: null, wenn es keinen wählbaren Teil an dem Punkt gibt, oder wenn CanMove und CanCopy beide falsch sind.
public virtual bool IsValidLink(Node fromnode, Node tonode, Link relink)
result = draggingTool.IsValidLink(fromnode, tonode, relink)
Dieses Prädikat wird aufgerufen, um zu bestimmen, ob ein Knoten durch Point wieder verbunden werden kann.
- fromnode
- tonode
- relink
- Der Link zum Relink zum Verbinden des und des
Rückgabe: das Ergebnis des Aufrufs von Object) wenn null ist, oder wenn es geliefert wird, das Ergebnis des Aufrufs von Object, Object oder Object.
public virtual bool IsValidMember(Group group, Node node)
result = draggingTool.IsValidMember(group, node)
Dieses Prädikat wird aufgerufen, um zu bestimmen, ob ein Knoten als Mitglied der Gruppe durch Punkt hinzugefügt werden kann.
- group
- Dies kann null sein, wenn der Knoten als Top-Level-Knoten hinzugefügt wird
- node
- a Knoten, möglicherweise eine andere Gruppe
Rückgabe: das Ergebnis des Aufrufs von Object
protected virtual FrameworkElement MakeDragImage(Rect bounds)
result = draggingTool.MakeDragImage(bounds)
Erstellen Sie eine Darstellung der Teile, die gezogen werden, wenn IsRealtime falsch ist.
- bounds
- Die Grenzen, die von DraggedParts eingenommen werden, in Modellkoordinaten
Rückgabe: FrameworkElement
public virtual bool MayAcceptData(IDataObject dataobj)
result = draggingTool.MayAcceptData(dataobj)
Entscheiden Sie, ob ein IDataObject zum Kopieren in das Modell dieses Diagramms geeignet ist.
- dataobj
- Ein IDataObject, typischerweise der Wert von DragEventArgs.Data
Rückgabe: Standardmäßig wird dabei überprüft, ob das Datenobjekt Daten in DataFormat oder in GetNodeType des Modells hat.
protected virtual bool MayCopy()
result = draggingTool.MayCopy()
Dieses Prädikat gilt, wenn die Ansicht erlaubt, dass Objekte kopiert und eingefügt werden, und ein Objekt in der Auswahl des Diagramms kopierbar ist und der Benutzer die Steuertaste gedrückt hält.
protected virtual bool MayCopyExternal(DragEventArgs e)
result = draggingTool.MayCopyExternal(e)
Dieses Prädikat gilt, wenn der Benutzer die Auswahl auf einem externen Drag-and-Drop kopieren kann.
- e
Rückgabe: Falsch, wenn AllowedEffects kein Kopieren erlaubt. Falsch, wenn der Umschalttasten-Modifikator zutrifft (versucht einen Umzug zu erfordern). Falsch, wenn das Diagramm IsReadOnly oder nicht AllowInsert. Falsch, wenn das Drag-and-Drop in diesem Steuerelement gestartet wurde. Falsch, wenn das Modell nicht modifizierbar ist. Falsch, wenn keine Drag-and-Drop-Daten des Modells vorhanden sind DataFormat. Ansonsten wahr.
protected virtual bool MayCopyInternal(DragEventArgs e)
result = draggingTool.MayCopyInternal(e)
Dieses Prädikat gilt, wenn der Benutzer die Auswahl auf einem internen Drag-and-Drop kopieren kann.
- e
Rückgabe: Falsch, wenn AllowedEffects kein Kopieren zulässt. Falsch, wenn der Umschalttasten-Modifikator zutrifft (versucht, einen Umzug zu erfordern). Falsch, wenn das Diagramm IsReadOnly oder nicht AllowInsert. Falsch, wenn das Drag-and-Drop von einem anderen Steuerelement kam. Falsch, wenn das Modell nicht modifizierbar ist. Andernfalls wahr.
protected virtual bool MayMove()
result = draggingTool.MayMove()
Dieses Prädikat gilt, wenn die Ansicht Objekte bewegt werden lässt und ein Objekt in der Auswahl beweglich ist.
protected virtual bool MayMoveExternal(DragEventArgs e)
result = draggingTool.MayMoveExternal(e)
Dieses Prädikat gilt, wenn der Benutzer die Auswahl auf einem externen Drag-and-Drop verschieben kann.
- e
Rückgabe: Falsch, wenn AllowedEffects kein Verschieben erlaubt. Falsch, wenn der Kontrollschlüssel-Modifikator zutrifft (versucht eine Kopie zu verlangen). Falsch, wenn das Diagramm IsReadOnly oder nicht AllowInsert. Falsch, wenn das Drag-and-Drop in diesem Steuerelement gestartet wurde. Falsch, wenn das Modell nicht modifizierbar ist. Falsch, wenn keine Drag-and-Drop-Daten des Modells vorhanden sind DataFormat. Ansonsten wahr.
protected virtual bool MayMoveInternal(DragEventArgs e)
result = draggingTool.MayMoveInternal(e)
Dieses Prädikat gilt, wenn der Benutzer die Auswahl auf einem internen Drag-and-Drop verschieben kann.
- e
Rückgabe: Falsch, wenn AllowedEffects kein Verschieben erlaubt. Falsch, wenn der Kontrollschlüssel-Modifikator zutrifft (versucht eine Kopie zu verlangen). Falsch, wenn das Diagramm IsReadOnly oder nicht AllowMove. Falsch, wenn das Drag-and-Drop von einem anderen Steuerelement kam. Ansonsten wahr.
public virtual void MoveParts(Dictionary<Part, Info> parts, Point offset)
draggingTool.MoveParts(parts, offset)
Verschieben Sie eine Sammlung von Teilen um einen bestimmten Offset.
- parts
- a Wörterbuch von Teilen, die auf Info-Werte abgebildet sind, die die ursprünglichen Standorte der Knoten enthalten
- offset
- a Punktwert in Modellkoordinaten
protected virtual Point SnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.SnapTo(moving, pt, snapper, draggedparts)
Berechnen Sie den neuen Standort für einen Knoten, wenn ein anderer Knoten seine Bewegung steuert.
- moving
- Der Node wird gezogen
- pt
- Punkt in den Modellkoordinaten, zu dem der Knoten gezogen wird
- snapper
- der Knoten, typischerweise ein Gitter, das das Drag-Snapping steuert
- draggedparts
- Ein Wörterbuch von Teilen, die gezogen werden
Rückgabe: ein neuer Knotenort, in Modellkoordinaten
protected override void StandardMouseSelect()
draggingTool.StandardMouseSelect()
Lassen Sie den Kontrollmodifikator ein bereits ausgewähltes Teil nicht auswählen.
Felder
public static readonly DependencyProperty CopiesEffectiveCollectionProperty
value = DraggingTool.CopiesEffectiveCollectionProperty
Identifiziert die Abhängigkeitseigenschaft CopiesEffectiveCollection.
public static readonly DependencyProperty DraggableLinksProperty
value = DraggingTool.DraggableLinksProperty
Identifiziert die Abhängigkeitseigenschaft DraggableLinks.
public static readonly DependencyProperty DragOverSnapAreaProperty
value = DraggingTool.DragOverSnapAreaProperty
Identifiziert die Abhängigkeitseigenschaft DragOverSnapArea.
public static readonly DependencyProperty DropOntoEnabledProperty
value = DraggingTool.DropOntoEnabledProperty
Identifiziert die Abhängigkeitseigenschaft DropOntoEnabled.
public static readonly DependencyProperty FromPortIdProperty
value = DraggingTool.FromPortIdProperty
Identifiziert die Abhängigkeitseigenschaft FromPortId.
public static readonly DependencyProperty InclusionsProperty
value = DraggingTool.InclusionsProperty
Bestimmt die Eigenschaft Inclusions Dependency.
public static readonly DependencyProperty IsRealtimeProperty
value = DraggingTool.IsRealtimeProperty
Identifiziert die Abhängigkeitseigenschaft IsRealtime.
public static readonly DependencyProperty ToPortIdProperty
value = DraggingTool.ToPortIdProperty
Identifiziert die Abhängigkeitseigenschaft ToPortId.