Во-первых, заполнение dragSource

Код AS1/AS2:
private function onMouseMove(event:MouseEvent):void
{
var dragInitiator:Image = new Image();
dragInitiator.source = 'assets/ico1.png';
var datasource:DragSource = new DragSource();
datasource.addData( tileListChildData, "items");
var canvasProxy:Canvas = new Canvas();
canvasProxy.height = 25;
canvasProxy.width = 25;
DragManager.doDrag(dragInitiator, datasource, event, canvasProxy);
}
Но это вообще необязаттельно, так как TileList поддерживает drag нативно. Для этого задайте свойство dragEnabled="true" для TileList.
canvas'у, естественно, dragDrop нативно не прописан.
Добавляем хэндлер на дроп

Код AS1/AS2:
private function dragEnterHandler(event:DragEvent):void
{
trace("dragEnterHandler: "+event.target);
if (event.dragSource.hasFormat("items"))
{
DragManager.acceptDragDrop(Canvas(event.currentTarget));
}
private function dragDropHandler(event:DragEvent):void
{
trace("dragDropHandler");
//получаем массив дропнутых данных
var droppedData:Array = event.dragSource.dataForFormat('items') as Array;
//обрабатываем данные
var item:Object;
for each( object in droppedData )
{
totalValue.push(object.value);
totalName.push(object.name);
}
}
Как-то так
