DraggingTool
DraggingTool используется для перемещения или копирования выбранных частей с помощью мыши.
Наследует: DiagramTool
Свойства
public Dictionary<Part, Info> CopiedParts { get; set; }
value = draggingTool.CopiedParts
draggingTool.CopiedParts = value
Получает или устанавливает коллекцию частей, которые этот инструмент скопировал.
public bool CopiesEffectiveCollection { get; set; }
value = draggingTool.CopiesEffectiveCollection
draggingTool.CopiesEffectiveCollection = value
Получает или устанавливает, для операции копирования копируется расширенный выбор или только выбранные части.
protected Part CurrentPart { get; set; }
value = draggingTool.CurrentPart
draggingTool.CurrentPart = value
Получает или устанавливает Часть, найденную в точке мыши по адресу StandardMouseSelect.
public bool DraggableLinks { get; set; }
value = draggingTool.DraggableLinks
draggingTool.DraggableLinks = value
Получает или устанавливает, может ли пользователь перетащить одну ссылку, отключив ее от подключенных узлов и, возможно, подключив ее к действительным портам, когда ссылка отпадает.
protected Link DraggedLink { get; set; }
value = draggingTool.DraggedLink
draggingTool.DraggedLink = value
Получает или устанавливает Ссылку, которую можно перетащить и восстановить, когда DraggableLinks является правдой.
public Dictionary<Part, Info> DraggedParts { get; set; }
value = draggingTool.DraggedParts
draggingTool.DraggedParts = value
Получает или устанавливает коллекцию частей, которые тянут.
protected bool DragOutStarted { get; set; }
value = draggingTool.DragOutStarted
draggingTool.DragOutStarted = value
Получает или устанавливает, было ли это потенциально внешнее сопротивление запущено этим инструментом.
protected Part DragOverPart { get; set; }
value = draggingTool.DragOverPart
draggingTool.DragOverPart = value
Получает или устанавливает Часть, не будучи перетащенной, что мышь окончена, и устанавливает ее свойство IsDropOntoAccepted соответственно.
public DragOverSnapArea DragOverSnapArea { get; set; }
value = draggingTool.DragOverSnapArea
draggingTool.DragOverSnapArea = value
Получает или устанавливает, перетаскивание каких-либо частей по диаграмме или по любым частям приводит к тому, что их положение перескакивает в точки сетки.
public bool DropOntoEnabled { get; set; }
value = draggingTool.DropOntoEnabled
draggingTool.DropOntoEnabled = value
Получает или устанавливает, получают ли стационарные части свою собственность IsDropOntoAccepted временно установленную на истинность во время перетаскивания.
internal bool Dropped { get; set; }
value = draggingTool.Dropped
draggingTool.Dropped = value
Получает или устанавливает, произошло ли падение после начала вытаскивания.
public string FromPortId { get; set; }
value = draggingTool.FromPortId
draggingTool.FromPortId = value
Получает или устанавливает идентификатор порта, используемый при работе Point) создает новую ссылку по адресу DropOntoBehavior is AddsLinkFromNode, AddsLinkToNode или SplicesIntoLink.
public EffectiveCollectionInclusions Inclusions { get; set; }
value = draggingTool.Inclusions
draggingTool.Inclusions = value
Получает или устанавливает, перемещает ли или копирует узел, также включает в себя всех детей узла и их потомков, а также ссылки на эти дополнительные узлы.
public bool IsRealtime { get; set; }
value = draggingTool.IsRealtime
draggingTool.IsRealtime = value
Получает или устанавливает, движутся ли детали непрерывно во время перетаскивания или вместо этого перетаскивается простой объект, причем части фактически движутся только на мыши вверх.
public static DraggingTool Source { get; internal set; }
value = DraggingTool.Source
DraggingTool.Source = value
Это экспериментальное свойство, которое получает DraggingTool, которое является источником симулированного сопротивления.
protected Point StartPoint { get; set; }
value = draggingTool.StartPoint
draggingTool.StartPoint = value
Получает или устанавливает точку мыши, из которой части начинают двигаться.
public string ToPortId { get; set; }
value = draggingTool.ToPortId
draggingTool.ToPortId = value
Получает или устанавливает идентификатор порта, используемый при работе Point) создает новую ссылку по адресу DropOntoBehavior is AddsLinkFromNode, AddsLinkToNode или SplicesIntoLink.
Методы
public virtual IDataCollection AcceptData(IDataObject dataobj)
result = draggingTool.AcceptData(dataobj)
Преобразовать IDataObject в IDataCollection.
- dataobj
- IDataObject, как правило, значение DragEventArgs.Data
Возвращает: IDataCollection что модель диаграммы может копировать
public override bool CanStart()
result = draggingTool.CanStart()
Этот инструмент может работать, если эта диаграмма позволяет выбирать и перемещать / копировать / вытягивать, если мышь переместилась достаточно далеко, чтобы быть перетаскиванием, а не щелчком мыши, и если FindDraggablePart нашел выбираемую часть в точке выпадения мыши.
public virtual Dictionary<Part, Info> ComputeEffectiveCollection(IEnumerable<Part> parts)
result = draggingTool.ComputeEffectiveCollection(parts)
Найдите фактическую коллекцию узлов и ссылок, которые будут перемещены или скопированы, учитывая первоначальную коллекцию.
- parts
Возвращает: Словарь частей, сопоставленных с Инфо, содержащих их оригинальные местоположения
protected virtual Point ComputeFocusPoint(IEnumerable<Part> parts)
result = draggingTool.ComputeFocusPoint(parts)
Определите точку фокусировки или точку горячей точки для внешнего сопротивления.
- parts
- Копируемые узлы и ссылки будут тащить
Возвращает: Точка в координатах модели
protected virtual Point ComputeMove(Node n, Point newloc, Dictionary<Part, Info> draggedparts)
result = draggingTool.ComputeMove(n, newloc, draggedparts)
Этот метод вычисляет новое местоположение узла, учитывая новое желаемое местоположение и словарь перетаскиваемых частей.
- n
- Узел перемещается
- newloc
- Предложенное новое местоположение узла в координатах модели
- draggedparts
- Словарь частей, которые тянут
Возвращает: новое местоположение узла в координатах модели
protected virtual bool ConsiderDragOver(Point pt, Part p)
result = draggingTool.ConsiderDragOver(pt, p)
Определить, будет ли действителен выбор, который в настоящее время перетаскивается (DraggedParts или CopiedParts), для того, чтобы быть сброшенным на целевую часть, в зависимости от ее DropOntoBehavior.
- pt
- обычно точка мыши в координатах модели
- p
- Часть под мышью указывает, что выбор может быть сброшен на
protected virtual bool ConsiderSnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.ConsiderSnapTo(moving, pt, snapper, draggedparts)
Этот предикат верен, если данный узел может контролировать движение данного узла.
- moving
- Узел, который тащили
- pt
- Точка в координатах модели, обычно текущая точка мыши
- snapper
- Узел, который может контролировать движение узла
- draggedparts
- Словарь частей, которые тянут
Возвращает: Правда, если она не в и является DragOverSnapEnabled
public override void DoActivate()
draggingTool.DoActivate()
Начните операцию по перетаскиванию.
public override void DoCancel()
draggingTool.DoCancel()
Прекратите любую операцию по перетаскиванию.
protected virtual DragDropEffects DoDragDrop(IDataCollection data, DragDropEffects eff)
result = draggingTool.DoDragDrop(data, eff)
Позвоните по телефону DragDrop.DoDragDrop.
- data
- Это данные, которые нужно перетаскивать
- eff
- Это переводится как третий аргумент на DragDrop.DoDragDrop
Возвращает: Результат звонка DragDrop.DoDragDrop
public virtual void DoDragEnter(DragEventArgs e)
draggingTool.DoDragEnter(e)
Обновить DragEventArgs.Effects.
- e
public virtual void DoDragLeave(DragEventArgs e)
draggingTool.DoDragLeave(e)
Если не допускается падение, удалите любые временные скопированные части.
- e
protected virtual void DoDragOut()
draggingTool.DoDragOut()
Начните операцию по перетаскиванию.
public virtual void DoDragOver(DragEventArgs e)
draggingTool.DoDragOver(e)
Для копий или внешних движений создайте и перемещайте скопированные части для данных перетаскивания.
- e
public virtual void DoDrop(DragEventArgs e)
draggingTool.DoDrop(e)
Выполняй каплю перетаскивания.
- e
public virtual void DoGiveFeedback(GiveFeedbackEventArgs e)
draggingTool.DoGiveFeedback(e)
По умолчанию это ничего не делает.
- e
public override void DoKeyDown(KeyEventArgs e)
draggingTool.DoKeyDown(e)
Переключение рук между режимами копирования и перемещения по мере нажатия или выпуска ключа управления.
- e
public override void DoKeyUp(KeyEventArgs e)
draggingTool.DoKeyUp(e)
Переключение рук между режимами копирования и перемещения по мере нажатия или выпуска ключа управления.
- e
public override void DoMouseMove()
draggingTool.DoMouseMove()
По мере перемещения мыши пользователь перемещает коллекцию CopiedParts или DraggedParts, в зависимости от того, является ли MayCopy или MayMove правдой.
public override void DoMouseUp()
draggingTool.DoMouseUp()
На мыши вверх финиш перемещается или копирует эффективный выбор.
public virtual void DoQueryContinueDrag(QueryContinueDragEventArgs e)
draggingTool.DoQueryContinueDrag(e)
Если пользователь нажмет на клавишу ESCAPE, позвоните по адресу DoCancel, чтобы прервать этот инструмент.
- e
public override void DoStop()
draggingTool.DoStop()
Завершить и очистить после операции перетаскивания.
protected virtual void DragOver(Point pt, bool moving, bool copying)
draggingTool.DragOver(pt, moving, copying)
Повлияйте на некоторые стационарные невыбранные объекты, которые находятся под данной точкой, и рассмотрите возможность автоматического прокрутки.
- pt
- обычно точка мыши в координатах модели
- moving
- copying
protected virtual void DropOnto(Point pt)
draggingTool.DropOnto(pt)
Выполняйте любые дополнительные побочные эффекты после падения.
- pt
protected virtual Part FindDraggablePart()
result = draggingTool.FindDraggablePart()
Возврат выбираемой и подвижной/копируемой части в точке мыши вниз.
Возвращает: null, если в точке нет выбираемой части, или если CanMove и CanCopy являются ложными.
public virtual bool IsValidLink(Node fromnode, Node tonode, Link relink)
result = draggingTool.IsValidLink(fromnode, tonode, relink)
Этот предикат называется для определения того, может ли узел быть повторно соединен точкой.
- fromnode
- tonode
- relink
- Ссылка для повторной ссылки для подключения и
Возвращает: результат вызова Объекта), если он не является или если он поставляется, результат вызова Объекта, Объекта или Объекта.
public virtual bool IsValidMember(Group group, Node node)
result = draggingTool.IsValidMember(group, node)
Этот предикат называется для определения того, может ли узел быть добавлен в качестве члена группы по точкам.
- group
- Это может быть нулевым, если узел добавляется в качестве узла верхнего уровня.
- node
- Узел, возможно, другая группа
Возвращает: Результат вызова объекта
protected virtual FrameworkElement MakeDragImage(Rect bounds)
result = draggingTool.MakeDragImage(bounds)
Создайте представление частей, которые затягиваются, когда IsRealtime является ложным.
- bounds
- Границы, занимаемые DraggedParts, в координатах моделей
Возвращает: FrameworkElement
public virtual bool MayAcceptData(IDataObject dataobj)
result = draggingTool.MayAcceptData(dataobj)
Решите, подходит ли IDataObject для копирования в модель этой диаграммы.
- dataobj
- IDataObject, как правило, значение DragEventArgs.Data
Возвращает: По умолчанию проверяется, есть ли данные объекта данных в модели DataFormat или в модели GetNodeType.
protected virtual bool MayCopy()
result = draggingTool.MayCopy()
Этот предикат верен, когда вид позволяет копировать и вставлять объекты, а некоторый объект в выборе диаграммы является копируемым, и пользователь держит ключ управления.
protected virtual bool MayCopyExternal(DragEventArgs e)
result = draggingTool.MayCopyExternal(e)
Этот предикат верен, если пользователь может скопировать выбор на внешнем перетаскивании.
- e
Возвращает: Ложно, если AllowedEffects не позволяет копировать. Ложно, если применяется модификатор ключа Shift (пытается потребовать перемещения). Ложно, если диаграмма IsReadOnly или не AllowInsert. Ложно, если перетаскивание началось в этом контроле. Ложно, если модель не поддается изменению. Ложно, если нет данных перетаскивания модели DataFormat. В противном случае это правда.
protected virtual bool MayCopyInternal(DragEventArgs e)
result = draggingTool.MayCopyInternal(e)
Этот предикат верен, если пользователь может скопировать выбор на внутреннее перетаскивание.
- e
Возвращает: Ложно, если AllowedEffects не допускает копирования. Ложно, если применяется модификатор ключа Shift (пытается потребовать перемещения). Ложно, если диаграмма IsReadOnly или не AllowInsert. Ложно, если перетаскивание пришло из другого управления. Ложно, если модель не модифицируема. В противном случае это правда.
protected virtual bool MayMove()
result = draggingTool.MayMove()
Этот предикат верен, когда вид позволяет перемещать объекты, а некоторый объект в Выборе является подвижным.
protected virtual bool MayMoveExternal(DragEventArgs e)
result = draggingTool.MayMoveExternal(e)
Этот предикат верен, если пользователь может перемещать выбор на внешнем перетаскивании.
- e
Возвращает: Ложно, если AllowedEffects не позволяет двигаться. Ложно, если применяется модификатор ключа управления (пытается потребовать копию). Ложно, если диаграмма IsReadOnly или не AllowInsert. Ложно, если перетаскивание началось в этом контроле. Ложно, если модель не поддается изменению. Ложно, если нет данных перетаскивания модели DataFormat. В противном случае это правда.
protected virtual bool MayMoveInternal(DragEventArgs e)
result = draggingTool.MayMoveInternal(e)
Этот предикат верен, если пользователь может переместить выбор на внутреннее перетаскивание.
- e
Возвращает: Ложно, если AllowedEffects не позволяет двигаться. Ложно, если применяется модификатор ключа управления (пытается потребовать копию). Ложно, если диаграмма IsReadOnly или не AllowMove. Ложно, если перетаскивание пришло из другого управления. В противном случае верно.
public virtual void MoveParts(Dictionary<Part, Info> parts, Point offset)
draggingTool.MoveParts(parts, offset)
Переместить коллекцию частей на заданную смещение.
- parts
- a Словарь частей, сопоставленных с значениями Инфо, которые включают исходные местоположения узлов
- offset
- Точка в координатах модели
protected virtual Point SnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.SnapTo(moving, pt, snapper, draggedparts)
Вычислите новое местоположение узла, учитывая другой узел, который контролирует его движение.
- moving
- Узел, который тащили
- pt
- Точка в координатах модели, к которой узел перетаскивается
- snapper
- Узел, как правило, сетка, которая контролирует захват сопротивления
- draggedparts
- Словарь частей, которые тянут
Возвращает: Местоположение нового узла в координатах модели
protected override void StandardMouseSelect()
draggingTool.StandardMouseSelect()
Не используйте модификатор управления, чтобы отсеять уже выбранную часть.
Поля
public static readonly DependencyProperty CopiesEffectiveCollectionProperty
value = DraggingTool.CopiesEffectiveCollectionProperty
Идентифицирует свойство зависимости CopiesEffectiveCollection.
public static readonly DependencyProperty DraggableLinksProperty
value = DraggingTool.DraggableLinksProperty
Идентифицирует свойство зависимости DraggableLinks.
public static readonly DependencyProperty DragOverSnapAreaProperty
value = DraggingTool.DragOverSnapAreaProperty
Идентифицирует свойство зависимости DragOverSnapArea.
public static readonly DependencyProperty DropOntoEnabledProperty
value = DraggingTool.DropOntoEnabledProperty
Идентифицирует свойство зависимости DropOntoEnabled.
public static readonly DependencyProperty FromPortIdProperty
value = DraggingTool.FromPortIdProperty
Идентифицирует свойство зависимости FromPortId.
public static readonly DependencyProperty InclusionsProperty
value = DraggingTool.InclusionsProperty
Идентифицирует свойство зависимостей Inclusions.
public static readonly DependencyProperty IsRealtimeProperty
value = DraggingTool.IsRealtimeProperty
Идентифицирует свойство зависимости IsRealtime.
public static readonly DependencyProperty ToPortIdProperty
value = DraggingTool.ToPortIdProperty
Идентифицирует свойство зависимости ToPortId.