mx.managers
public class DragManager
继承DragManager Inheritance Object

DragManager 类管理拖放操作,您可以使用它来将数据从 Flex 应用程序中的一个位置移动到另一位置。例如,您可以选择一个对象(如 List 控件中的项目)或一个 Flex 控件(如 Image 控件),然后将其拖至另一个组件进行添加。

DragManager 的所有方法和属性都是静态的,因此不需要为其创建实例。

所有 Flex 组件都支持拖放操作。Flex 为 List、Tree 和 DataGrid 控件的拖放操作提供了附加支持。

当用户使用鼠标选择某个项目时,所选组件称为拖动启动器。拖动操作期间显示的图像称为拖动代理。

当用户将拖动代理移动到其它组件时,系统会向该组件发送 dragEnter 事件。如果该组件接受拖动,即可成为拖放目标,并接收 dragOverdragExitdragDrop 事件。

拖动操作完成后,会向拖动启动器发送 dragComplete 事件。

另请参见

mx.core.DragSource
mx.events.DragEvent
mx.core.UIComponent
Manually adding drag-and-drop support


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  isDragging : Boolean
[静态] [只读 (read-only)] 一个只读属性,如果拖动操作正在进行,则返回 true。
DragManager
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
  
[静态] 如果接受拖/放数据,将从 dragEnter 事件处理函数调用此方法。
DragManager
  
doDrag(dragInitiator:IUIComponent, dragSource:DragSource, mouseEvent:MouseEvent, dragImage:IFlexDisplayObject = null, xOffset:Number = 0, yOffset:Number = 0, imageAlpha:Number = 0.5, allowMove:Boolean = true):void
[静态] 启动拖放操作。
DragManager
  
[静态] 返回当前的拖放反馈。
DragManager
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
  
[静态] 设置拖放操作的反馈指示符。
DragManager
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
样式
 样式 说明 定义方
  
copyCursor
类型: Class CSS 继承: no
复制操作期间显示的光标。默认值为 Assets.swf 文件中的“mx.skins.cursor.DragCopy”符号。
DragManager
  
defaultDragImageSkin
类型: Class CSS 继承: no
绘制默认拖动图像(也称为拖动代理)所用的外观。 默认值为 mx.skins.halo.DefaultDragImage.
DragManager
  
linkCursor
类型: Class CSS 继承: no
链接操作期间显示的光标。默认值为 Assets.swf 文件中的“mx.skins.cursor.DragLink”符号。
DragManager
  
moveCursor
类型: Class CSS 继承: no
移动操作期间显示的光标。默认值为 Assets.swf 文件中的“mx.skins.cursor.DragMove”符号。
DragManager
  
rejectCursor
类型: Class CSS 继承: no
针对拒绝操作所显示的光标。默认值为 Assets.swf 文件中的“mx.skins.cursor.DragReject”符号。
DragManager
公共常量
 常量定义方
  COPY : String = "copy"
[静态] 用于指定拖动动作的类型是“copy”的常数。
DragManager
  LINK : String = "link"
[静态] 用于指定拖动动作的类型是“link”的常数。
DragManager
  MOVE : String = "move"
[静态] 用于指定拖动动作的类型是“move”的常数。
DragManager
  NONE : String = "none"
[静态] 用于指定拖动动作的类型是“none”的常数。
DragManager
属性详细信息
isDragging属性
isDragging:Boolean  [只读 (read-only)]

一个只读属性,如果拖动操作正在进行,则返回 true



实现
    public static function get isDragging():Boolean
方法详细信息
acceptDragDrop()方法
public static function acceptDragDrop(target:IUIComponent):void

如果接受拖/放数据,将从 dragEnter 事件处理函数调用此方法。例如:

DragManager.acceptDragDrop(event.target);

参数

target:IUIComponent — 接受拖动的放置目标。

doDrag()方法 
public static function doDrag(dragInitiator:IUIComponent, dragSource:DragSource, mouseEvent:MouseEvent, dragImage:IFlexDisplayObject = null, xOffset:Number = 0, yOffset:Number = 0, imageAlpha:Number = 0.5, allowMove:Boolean = true):void

启动拖放操作。

参数

dragInitiator:IUIComponent — 指定启动拖动的组件的 IUIComponent。
 
dragSource:DragSource — 包含正在拖动的数据的 DragSource 对象。
 
mouseEvent:MouseEvent — 包含与启动拖动相关的鼠标信息的 MouseEvent。
 
dragImage:IFlexDisplayObject (default = null) — 要拖动的图像。此参数是可选的。如果省略此参数,则在拖放操作期间将使用标准的拖动矩形。如果指定了某个图像,则必须显式设置该图像的高度和宽度,否则此图像将不显示。
 
xOffset:Number (default = 0) — 用于指定 dragImage 的 x 偏移(以像素为单位)的数字。此参数是可选的。如果省略此参数,将在拖动启动器的左上角显示拖动代理。该偏移是指从拖动代理的左边缘到拖动启动器的左边缘的距离(以像素为单位),通常为负数。
 
yOffset:Number (default = 0) — 用于指定 dragImage 的 y 偏移(以像素为单位)的数字。此参数是可选的。如果省略此参数,将在拖动启动器的左上角显示拖动代理。该偏移是指从拖动代理的上边缘到拖动启动器的上边缘的距离(以像素为单位),通常为负数。
 
imageAlpha:Number (default = 0.5) — 用于指定拖动图像所用的 Alpha 值的数字。此参数是可选的。如果省略此参数,则默认的 Alpha 值为 0.5。值为 0.0 表示图像是透明的;值为 1.0 表示图像完全不透明。
 
allowMove:Boolean (default = true) — 指示是否允许放置目标移动所拖动的数据。

getFeedback()方法 
public static function getFeedback():String

返回当前的拖放反馈。

返回
String — 可能的返回值有:DragManager.COPYDragManager.MOVEDragManager.LINKDragManager.NONE
showFeedback()方法 
public static function showFeedback(feedback:String):void

设置拖放操作的反馈指示符。可能的值有:DragManager.COPYDragManager.MOVEDragManager.LINKDragManager.NONE

参数

feedback:String — 要显示的反馈指示符类型。

常量详细信息
COPY常量
public static const COPY:String = "copy"

用于指定拖动动作的类型是“copy”的常数。

LINK常量 
public static const LINK:String = "link"

用于指定拖动动作的类型是“link”的常数。

MOVE常量 
public static const MOVE:String = "move"

用于指定拖动动作的类型是“move”的常数。

NONE常量 
public static const NONE:String = "none"

用于指定拖动动作的类型是“none”的常数。