RotatingTool
O RotatingTool é usado para alterar interactivamente o ângulo de um elemento.
Herda de: DiagramTool
Propriedades
protected FrameworkElement AdornedElement { get; set; }
value = rotatingTool.AdornedElement
rotatingTool.AdornedElement = value
Obtém ou define o FrameworkElement atual que está sendo rodado.
protected Node AdornedNode { get; }
value = rotatingTool.AdornedNode
Obtém o nó atual em que o AdornedElement está.
protected FrameworkElement Handle { get; set; }
value = rotatingTool.Handle
rotatingTool.Handle = value
Obtém ou define o cabo de rotação atual que está sendo arrastado.
protected double OriginalAngle { get; set; }
value = rotatingTool.OriginalAngle
rotatingTool.OriginalAngle = value
Obtém ou define o ângulo do AdornedElement quando o usuário começou a rodar.
protected Point RotationPoint { get; set; }
value = rotatingTool.RotationPoint
rotatingTool.RotationPoint = value
Obtém ou define o ponto em torno do qual o elemento está sendo girado.
public double SnapAngleEpsilon { get; set; }
value = rotatingTool.SnapAngleEpsilon
rotatingTool.SnapAngleEpsilon = value
Obtém ou define a proximidade para um ângulo desejado em que o ângulo é "apertado".
public double SnapAngleMultiple { get; set; }
value = rotatingTool.SnapAngleMultiple
rotatingTool.SnapAngleMultiple = value
Obtém ou define os ângulos preferidos para o elemento seleccionado.
Métodos
public override bool CanStart()
result = rotatingTool.CanStart()
O RotatingTool pode ser executado quando houver um evento de rotação do mouse em uma alça.
protected virtual double ComputeRotate(Point newPoint)
result = rotatingTool.ComputeRotate(newPoint)
Calcular o novo ângulo dado um ponto.
- newPoint
- um ponto nas coordenadas do modelo
Retorna: o novo ângulo, em graus
public override void DoCancel()
rotatingTool.DoCancel()
Restaure o OriginalAngle do AdornedElement e pare esta ferramenta.
public override void DoDeactivate()
rotatingTool.DoDeactivate()
Isto para a edição atual (StopTransaction).
public override void DoMouseMove()
rotatingTool.DoMouseMove()
Chamar Duplo) com um novo ângulo determinado pelo ponto do mouse.
public override void DoMouseUp()
rotatingTool.DoMouseUp()
Chamar Duplo) com um ângulo baseado no ponto mais recente do mouse e levantar um evento "objeto girado" antes de parar a ferramenta.
protected virtual void DoRotate(double newangle)
rotatingTool.DoRotate(newangle)
Altere o ângulo da AdornedElement.
- newangle
- o novo ângulo, em graus
public override void DoStart()
rotatingTool.DoStart()
Capture o mouse ao iniciar esta ferramenta.
public override void DoStop()
rotatingTool.DoStop()
Solte a captura do mouse ao parar esta ferramenta.
public override void UpdateAdornments(Part part)
rotatingTool.UpdateAdornments(part)
Mostrar um Adornment com uma pega de rotação num ponto para o lado do AdornedElement, se o nó estiver seleccionado e visível e se CanRotate for verdadeiro.
- part
Campos
public static readonly DependencyProperty SnapAngleEpsilonProperty
value = RotatingTool.SnapAngleEpsilonProperty
Identifica a propriedade SnapAngleEpsilon dependência.
public static readonly DependencyProperty SnapAngleMultipleProperty
value = RotatingTool.SnapAngleMultipleProperty
Identifica a propriedade SnapAngleMultiple dependência.