我正在尝试在实现手动拖动时将Spark列表ItemRenderer添加为DragInitiator。丢弃功能。下面的示例将整个列表作为dragInitiator。问题是如何在这种情况下使用Itemrenderer?
protected function myList_dragStartHandler(event:DragEvent):void
{
var dragInitiator:List = event.currentTarget as List;
var selectedQuery:Object = List(event.dragInitiator).selectedItem;
var ds:DragSource = new DragSource();
ds.addData(selectedQuery, "query");
DragManager.doDrag(dragInitiator, ds, event);
}
<s:List id="myList" y="10" height="273" dataProvider="{sqList}" labelField="desc" itemRenderer="SqItemRenderer"
dragEnabled="true" dragStart="myList_dragStartHandler(event)"/>
答案 0 :(得分:0)
解决了我的itemrenderer设置mouseMove处理程序的问题。
override public function set data(value:Object):void
{
if (value != null)
{
super.data = value;
}
}
protected function itemrenderer1_mouseMoveHandler(event:MouseEvent):void
{
var dragInitiator:IUIComponent = event.currentTarget as IUIComponent;
var ds:DragSource = new DragSource();
ds.addData(this.data, "foo");
DragManager.doDrag(dragInitiator, ds, event);
}