RotatingTool
Der RotatingTool wird verwendet, um den Winkel eines Elements interaktiv zu ändern.
Erbt von: DiagramTool
Eigenschaften
protected FrameworkElement AdornedElement { get; set; }
value = rotatingTool.AdornedElement
rotatingTool.AdornedElement = value
Bekommt oder setzt den aktuellen FrameworkElement, der gedreht wird.
protected Node AdornedNode { get; }
value = rotatingTool.AdornedNode
Bekommt den aktuellen Knoten, in dem sich AdornedElement befindet.
protected FrameworkElement Handle { get; set; }
value = rotatingTool.Handle
rotatingTool.Handle = value
Bekommt oder stellt den aktuellen Drehgriff ein, der gezogen wird.
protected double OriginalAngle { get; set; }
value = rotatingTool.OriginalAngle
rotatingTool.OriginalAngle = value
Bekommt oder stellt den Winkel des AdornedElement ein, wenn der Benutzer zu drehen begonnen hat.
protected Point RotationPoint { get; set; }
value = rotatingTool.RotationPoint
rotatingTool.RotationPoint = value
Bekommt oder setzt den Punkt, um den das Element gedreht wird.
public double SnapAngleEpsilon { get; set; }
value = rotatingTool.SnapAngleEpsilon
rotatingTool.SnapAngleEpsilon = value
Bekommt oder stellt die Nähe zu einem gewünschten Winkel ein, in dem der Winkel "geschnappt" wird.
public double SnapAngleMultiple { get; set; }
value = rotatingTool.SnapAngleMultiple
rotatingTool.SnapAngleMultiple = value
Bekommt oder setzt die bevorzugten Winkel für das ausgewählte Element.
Methoden
public override bool CanStart()
result = rotatingTool.CanStart()
Der RotatingTool kann ausgeführt werden, wenn es ein Maus-Down-Ereignis auf einem Drehgriff gibt.
protected virtual double ComputeRotate(Point newPoint)
result = rotatingTool.ComputeRotate(newPoint)
Berechnen Sie den neuen Winkel, wenn Sie einen Punkt erhalten.
- newPoint
- a Punkt in den Modellkoordinaten
Rückgabe: der neue Winkel, in Grad
public override void DoCancel()
rotatingTool.DoCancel()
Stellen Sie das OriginalAngle des AdornedElement und stoppen Sie dieses Tool.
public override void DoDeactivate()
rotatingTool.DoDeactivate()
Dadurch wird die aktuelle Bearbeitung (StopTransaction) gestoppt.
public override void DoMouseMove()
rotatingTool.DoMouseMove()
Rufen Sie Double) mit einem neuen Winkel, der durch den Mauspunkt bestimmt wird.
public override void DoMouseUp()
rotatingTool.DoMouseUp()
Rufen Sie Double) mit einem Winkel auf der Grundlage des letzten Mauspunkts auf und heben Sie ein "Gegenstand gedreht" Ereignis an, bevor Sie das Werkzeug stoppen.
protected virtual void DoRotate(double newangle)
rotatingTool.DoRotate(newangle)
Ändern Sie den Winkel des AdornedElement.
- newangle
- der neue Winkel, in Grad
public override void DoStart()
rotatingTool.DoStart()
Erfassen Sie die Maus beim Starten dieses Tools.
public override void DoStop()
rotatingTool.DoStop()
Lassen Sie die Maus-Erfassung frei, wenn Sie dieses Tool stoppen.
public override void UpdateAdornments(Part part)
rotatingTool.UpdateAdornments(part)
Zeigen Sie eine Verzierung mit einem Drehgriff an einem Punkt an der Seite des AdornedElement, wenn der Knoten ausgewählt und sichtbar ist und wenn CanRotate wahr ist.
- part
Felder
public static readonly DependencyProperty SnapAngleEpsilonProperty
value = RotatingTool.SnapAngleEpsilonProperty
Identifiziert die Abhängigkeitseigenschaft SnapAngleEpsilon.
public static readonly DependencyProperty SnapAngleMultipleProperty
value = RotatingTool.SnapAngleMultipleProperty
Identifiziert die Abhängigkeitseigenschaft SnapAngleMultiple.