DraggingTool
O DraggingTool é usado para mover ou copiar as partes selecionadas com o mouse.
Herda de: DiagramTool
Propriedades
public Dictionary<Part, Info> CopiedParts { get; set; }
value = draggingTool.CopiedParts
draggingTool.CopiedParts = value
Obtém ou define a coleção de peças que esta ferramenta copiou.
public bool CopiesEffectiveCollection { get; set; }
value = draggingTool.CopiesEffectiveCollection
draggingTool.CopiesEffectiveCollection = value
Obtém ou define se para uma operação de cópia a seleção estendida é copiada ou apenas partes selecionadas.
protected Part CurrentPart { get; set; }
value = draggingTool.CurrentPart
draggingTool.CurrentPart = value
Obtém ou define a parte encontrada no ponto do rato em StandardMouseSelect.
public bool DraggableLinks { get; set; }
value = draggingTool.DraggableLinks
draggingTool.DraggableLinks = value
Obtém ou define se o usuário pode arrastar um único Link, desconectando-o de seus nós conectados e possivelmente conectando-o a portas válidas quando o link é deixado cair.
protected Link DraggedLink { get; set; }
value = draggingTool.DraggedLink
draggingTool.DraggedLink = value
Obtém ou define o Link que pode ser arrastado e reconectado quando DraggableLinks for verdadeiro.
public Dictionary<Part, Info> DraggedParts { get; set; }
value = draggingTool.DraggedParts
draggingTool.DraggedParts = value
Obtém ou define a coleção de peças sendo arrastadas.
protected bool DragOutStarted { get; set; }
value = draggingTool.DragOutStarted
draggingTool.DragOutStarted = value
Obtém ou define se uma aplicação de arrastar e soltar potencialmente externa foi iniciada por esta ferramenta.
protected Part DragOverPart { get; set; }
value = draggingTool.DragOverPart
draggingTool.DragOverPart = value
Obtém ou define uma Parte, não sendo arrastada, que o mouse acabou, e define sua propriedade IsDropOntoAccepted apropriadamente.
public DragOverSnapArea DragOverSnapArea { get; set; }
value = draggingTool.DragOverSnapArea
draggingTool.DragOverSnapArea = value
Obtém ou define se arrastar quaisquer partes sobre o diagrama ou sobre quaisquer partes faz com que sua posição seja quebrada para pontos de grade.
public bool DropOntoEnabled { get; set; }
value = draggingTool.DropOntoEnabled
draggingTool.DropOntoEnabled = value
Obtém ou define se as partes fixas obtêm a sua propriedade IsDropOntoAccepted temporariamente configurada para true durante um arrasto.
internal bool Dropped { get; set; }
value = draggingTool.Dropped
draggingTool.Dropped = value
Obtém ou define se uma gota ocorreu após um drag-out ter começado.
public string FromPortId { get; set; }
value = draggingTool.FromPortId
draggingTool.FromPortId = value
Obtém ou define o identificador de porta usado quando o Point) cria um novo link devido a DropOntoBehavior é AddsLinkFromNode, AddsLinkToNode, ou SplicesIntoLink.
public EffectiveCollectionInclusions Inclusions { get; set; }
value = draggingTool.Inclusions
draggingTool.Inclusions = value
Obtém ou define se movendo ou copiando um nó também inclui todos os filhos do nó e seus descendentes, juntamente com os links para esses nós adicionais.
public bool IsRealtime { get; set; }
value = draggingTool.IsRealtime
draggingTool.IsRealtime = value
Obtém ou define se as partes se movem continuamente durante um arrasto ou se um objeto simples é arrastado em vez disso, com as partes realmente se movendo apenas sobre um mouse para cima.
public static DraggingTool Source { get; internal set; }
value = DraggingTool.Source
DraggingTool.Source = value
Esta é uma propriedade experimental que recebe o DraggingTool que é a fonte de um arrasto-e-que-de-caixa simulado.
protected Point StartPoint { get; set; }
value = draggingTool.StartPoint
draggingTool.StartPoint = value
Obtém ou define o ponto do mouse a partir do qual as partes começam a se mover.
public string ToPortId { get; set; }
value = draggingTool.ToPortId
draggingTool.ToPortId = value
Obtém ou define o identificador de porta usado quando o Point) cria um novo link devido a DropOntoBehavior é AddsLinkFromNode, AddsLinkToNode, ou SplicesIntoLink.
Métodos
public virtual IDataCollection AcceptData(IDataObject dataobj)
result = draggingTool.AcceptData(dataobj)
Converta um IDataObject em IDataCollection.
- dataobj
- Um IDataObject, tipicamente o valor de DragEventArgs.Data
Retorna: Um IDataCollectionque o modelo do diagrama pode copiar
public override bool CanStart()
result = draggingTool.CanStart()
Esta ferramenta pode ser executada se este diagrama permitir a seleção e mover/copiar/desligar-se, se o mouse se tiver movido para longe o suficiente para ser um arrastar e não um clique, e se FindDraggablePart tiver encontrado uma parte selecionável no ponto de descida do mouse.
public virtual Dictionary<Part, Info> ComputeEffectiveCollection(IEnumerable<Part> parts)
result = draggingTool.ComputeEffectiveCollection(parts)
Encontre a coleção real de nós e links a serem movidos ou copiados, dada uma coleção inicial.
- parts
Retorna: um Dicionário de Peças, mapeado para informações que mantêm suas localizações originais
protected virtual Point ComputeFocusPoint(IEnumerable<Part> parts)
result = draggingTool.ComputeFocusPoint(parts)
Determinar o ponto de foco ou ponto de hot-spot para um arrasto externo.
- parts
- Os nós e ligações copiados que estão a ser arrastados
Retorna: um ponto nas coordenadas do modelo
protected virtual Point ComputeMove(Node n, Point newloc, Dictionary<Part, Info> draggedparts)
result = draggingTool.ComputeMove(n, newloc, draggedparts)
Este método calcula a nova localização de um nó, dado um novo local desejado e um dicionário de peças arrastadas.
- n
- o Nó sendo movido
- newloc
- a nova localização proposta para o nó, em coordenadas de modelo
- draggedparts
- um dicionário de peças sendo arrastado
Retorna: uma nova localização para o nó, em coordenadas do modelo
protected virtual bool ConsiderDragOver(Point pt, Part p)
result = draggingTool.ConsiderDragOver(pt, p)
Determinar se a seleção atualmente arrastada (DraggedParts ou CopiedParts) seria válida para ser lançada na parte alvo, dependendo de sua DropOntoBehavior@.
- pt
- normalmente o ponto do rato actual, nas coordenadas do modelo
- p
- a parte sob o ponto do mouse em que a seleção pode ser deixada cair
protected virtual bool ConsiderSnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.ConsiderSnapTo(moving, pt, snapper, draggedparts)
Este predicado é verdadeiro se o nó dado pode controlar o movimento do nó dado.
- moving
- o Nó sendo arrastado
- pt
- um ponto nas coordenadas do modelo, tipicamente o ponto atual do mouse
- snapper
- o nó que pode controlar o movimento do nó
- draggedparts
- um dicionário de peças sendo arrastado
Retorna: verdadeiro se o não estiver no e é DragOverSnapEnabled
public override void DoActivate()
draggingTool.DoActivate()
Comece a operação de arrastar.
public override void DoCancel()
draggingTool.DoCancel()
Abortar qualquer operação de arrasto.
protected virtual DragDropEffects DoDragDrop(IDataCollection data, DragDropEffects eff)
result = draggingTool.DoDragDrop(data, eff)
Chamada DragDrop.DoDragDrop.
- data
- isto representa os dados a serem arrastados
- eff
- este é passado como o terceiro argumento para DragDrop.DoDragDrop
Retorna: o resultado da chamada DragDrop.DoDragDrop
public virtual void DoDragEnter(DragEventArgs e)
draggingTool.DoDragEnter(e)
Atualizar o DragEventArgs.Effects.
- e
public virtual void DoDragLeave(DragEventArgs e)
draggingTool.DoDragLeave(e)
Se não for permitida uma gota, remova quaisquer partes copiadas temporariamente.
- e
protected virtual void DoDragOut()
draggingTool.DoDragOut()
Iniciar uma operação de arrastar e largar.
public virtual void DoDragOver(DragEventArgs e)
draggingTool.DoDragOver(e)
Para cópias ou movimentos externos, crie e mova partes copiadas para os dados de arrastar e soltar.
- e
public virtual void DoDrop(DragEventArgs e)
draggingTool.DoDrop(e)
Execute a gota de um arrastar-e-gota.
- e
public virtual void DoGiveFeedback(GiveFeedbackEventArgs e)
draggingTool.DoGiveFeedback(e)
Por padrão, isto não faz nada.
- e
public override void DoKeyDown(KeyEventArgs e)
draggingTool.DoKeyDown(e)
Lidar com a comutação entre modos de cópia e movimento, à medida que a tecla Control é pressionada ou liberada.
- e
public override void DoKeyUp(KeyEventArgs e)
draggingTool.DoKeyUp(e)
Lidar com a comutação entre modos de cópia e movimento, à medida que a tecla Control é pressionada ou liberada.
- e
public override void DoMouseMove()
draggingTool.DoMouseMove()
À medida que o usuário move o mouse, mova a coleção de CopiedParts ou DraggedParts, dependendo se MayCopy ou MayMove@ é verdade.
public override void DoMouseUp()
draggingTool.DoMouseUp()
Em um mouse-up terminar de mover ou copiar a seleção eficaz.
public virtual void DoQueryContinueDrag(QueryContinueDragEventArgs e)
draggingTool.DoQueryContinueDrag(e)
Se o usuário clicar na tecla ESCAPE, ligue para DoCancel para interromper esta ferramenta.
- e
public override void DoStop()
draggingTool.DoStop()
Terminar e limpar após uma operação de arrasto.
protected virtual void DragOver(Point pt, bool moving, bool copying)
draggingTool.DragOver(pt, moving, copying)
Afecte alguns objetos estacionários não selecionados que estão sob um dado ponto, e considere auto-rolling.
- pt
- normalmente o ponto do rato actual, nas coordenadas do modelo
- moving
- copying
protected virtual void DropOnto(Point pt)
draggingTool.DropOnto(pt)
Efetue quaisquer efeitos secundários adicionais após uma gota.
- pt
protected virtual Part FindDraggablePart()
result = draggingTool.FindDraggablePart()
Devolver a parte selecionável e móvel/cópia no ponto de descida do rato.
Retorna: null se não houver parte selecionável no ponto, ou se CanMove e CanCopy são ambos false.
public virtual bool IsValidLink(Node fromnode, Node tonode, Link relink)
result = draggingTool.IsValidLink(fromnode, tonode, relink)
Este predicado é chamado para determinar se um nó pode ser conectado novamente por ponto).
- fromnode
- tonode
- relink
- o link para relink para conectar o eo
Retorna: o resultado de chamar objeto) se é nulo, ou se é fornecido, o resultado de chamar objeto), objeto), ou objeto).
public virtual bool IsValidMember(Group group, Node node)
result = draggingTool.IsValidMember(group, node)
Este predicado é chamado para determinar se um nó pode ser adicionado como membro do Grupo por ponto).
- group
- isso pode ser nulo se o nó estiver sendo adicionado como um nó de nível superior
- node
- um nó, possivelmente outro grupo
Retorna: o resultado da chamada Objeto)
protected virtual FrameworkElement MakeDragImage(Rect bounds)
result = draggingTool.MakeDragImage(bounds)
Crie uma representação das Partes que estão sendo arrastadas quando IsRealtime for false.
- bounds
- Os limites ocupados pelo DraggedParts, em coordenadas do modelo
Retorna: FrameworkElement
public virtual bool MayAcceptData(IDataObject dataobj)
result = draggingTool.MayAcceptData(dataobj)
Decida se IDataObject é adequado para copiar para o modelo deste diagrama.
- dataobj
- Um IDataObject, tipicamente o valor de DragEventArgs.Data
Retorna: Por padrão, isso verifica se o objeto de dados tem dados no modelo DataFormat ou no modelo GetNodeType@.
protected virtual bool MayCopy()
result = draggingTool.MayCopy()
Este predicado é verdadeiro quando a visualização permite que objetos sejam copiados e inseridos, e algum objeto na seleção do diagrama é copiável, e o usuário está segurando a tecla Controle.
protected virtual bool MayCopyExternal(DragEventArgs e)
result = draggingTool.MayCopyExternal(e)
Este predicado é verdadeiro se o usuário pode copiar a seleção em um arrastar- e- soltar externo.
- e
Retorna: Falso se o modificador de teclas AllowedEffectsnão permite a cópia. Falso se o modificador de teclas Shift se aplica (tentando requerer uma jogada). Falso se o diagrama IsReadOnly ou não AllowInsert. Falso se o arrastar- e- soltar iniciado neste controle. Falso se o modelo não for modificável. Falso se não houver dados de arrastar- e- soltar do modelo DataFormat. Caso contrário, verdadeiro.
protected virtual bool MayCopyInternal(DragEventArgs e)
result = draggingTool.MayCopyInternal(e)
Este predicado é verdadeiro se o usuário pode copiar a seleção em um arrastar- e- soltar interno.
- e
Retorna: Falso se o modificador de teclas AllowedEffectsnão permite a cópia. Falso se o modificador de teclas Shift se aplica (tentando requerer uma jogada). Falso se o diagrama IsReadOnly ou não AllowInsert. Falso se o arrastar- e- soltar veio de outro controle. Falso se o modelo não for modificável. Caso contrário, é verdadeiro.
protected virtual bool MayMove()
result = draggingTool.MayMove()
Este predicado é verdadeiro quando a visualização permite que objetos sejam movidos, e algum objeto na seleção é móvel.
protected virtual bool MayMoveExternal(DragEventArgs e)
result = draggingTool.MayMoveExternal(e)
Este predicado é verdadeiro se o usuário pode mover a seleção em um arrastar- e- soltar externo.
- e
Retorna: Falso se o modificador de teclas de controle não permitir mover. Falso se o modificador de teclas de controle se aplicar (tentando requerer uma cópia). Falso se o diagrama IsReadOnly ou não AllowInsert. Falso se o arrastar- e- soltar iniciado neste controle. Falso se o modelo não for modificável. Falso se não houver dados de arrastar- e- soltar do modelo DataFormat. Caso contrário, verdadeiro.
protected virtual bool MayMoveInternal(DragEventArgs e)
result = draggingTool.MayMoveInternal(e)
Este predicado é verdadeiro se o usuário pode mover a seleção em um arrastar- e- soltar interno.
- e
Retorna: Falso se o modificador de teclas de controle não permitir mover. Falso se o modificador de teclas de controle se aplicar (tentando exigir uma cópia). Falso se o diagrama IsReadOnly ou não AllowMove. Falso se o arrastar- e- soltar veio de outro controle. Caso contrário, verdadeiro.
public virtual void MoveParts(Dictionary<Part, Info> parts, Point offset)
draggingTool.MoveParts(parts, offset)
Mover uma coleção de peças por um determinado deslocamento.
- parts
- um dicionário de partes, mapeados para os valores de Info que incluem as localizações originais dos nós
- offset
- um valor de ponto nas coordenadas do modelo
protected virtual Point SnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.SnapTo(moving, pt, snapper, draggedparts)
Calcular a nova localização para um nó, dado outro nó que está controlando seu movimento.
- moving
- o Nó sendo arrastado
- pt
- o ponto em coordenadas do modelo para o qual o nó está sendo arrastado
- snapper
- o nó, tipicamente uma grade, que está controlando o snapping de arrasto
- draggedparts
- um dicionário de peças sendo arrastado
Retorna: uma nova localização do nó, em coordenadas do modelo
protected override void StandardMouseSelect()
draggingTool.StandardMouseSelect()
Não tem o modificador de controle desmarcar uma parte já selecionada.
Campos
public static readonly DependencyProperty CopiesEffectiveCollectionProperty
value = DraggingTool.CopiesEffectiveCollectionProperty
Identifica a propriedade CopiesEffectiveCollection dependência.
public static readonly DependencyProperty DraggableLinksProperty
value = DraggingTool.DraggableLinksProperty
Identifica a propriedade DraggableLinks dependência.
public static readonly DependencyProperty DragOverSnapAreaProperty
value = DraggingTool.DragOverSnapAreaProperty
Identifica a propriedade DragOverSnapArea dependência.
public static readonly DependencyProperty DropOntoEnabledProperty
value = DraggingTool.DropOntoEnabledProperty
Identifica a propriedade DropOntoEnabled dependência.
public static readonly DependencyProperty FromPortIdProperty
value = DraggingTool.FromPortIdProperty
Identifica a propriedade FromPortId dependência.
public static readonly DependencyProperty InclusionsProperty
value = DraggingTool.InclusionsProperty
Identifica a propriedade de dependência de Inclusões.
public static readonly DependencyProperty IsRealtimeProperty
value = DraggingTool.IsRealtimeProperty
Identifica a propriedade IsRealtime dependência.
public static readonly DependencyProperty ToPortIdProperty
value = DraggingTool.ToPortIdProperty
Identifica a propriedade ToPortId dependência.