перетаскивание - только копия против перемещения - PullRequest
2 голосов
/ 06 марта 2011

Я хочу реализовать функцию перетаскивания во Flex. Я смог сделать это с помощью диспетчера перетаскивания

Примеры перетаскивания

Только моя потребность немного отличается - я хочу, чтобы была размещена копия перетаскиваемого объекта, а не исходный объект. Любое руководство о том, как сделать это возможным.

Кроме того, я хотел бы, чтобы идентификатор был динамически создан для этого отброшенного объекта для контроля. Спасибо

Ответы [ 2 ]

3 голосов
/ 06 марта 2011

In dragDropHandler call event.preventDefault() - это отключит логику удаления по умолчанию, включая удаление объекта из исходной коллекции и добавление его в целевую коллекцию. Затем добавьте свою логику.

0 голосов
/ 09 апреля 2012

Вы можете переопределить все обработчики перетаскивания как:

    override protected function dragEnterHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragEnterHandler(event);
    }

    override protected function dragCompleteHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragCompleteHandler(event);
    }

    override protected function dragDropHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragDropHandler(event);
    }

    override protected function dragExitHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragExitHandler(event);
    }

    override protected function dragOverHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragOverHandler(event);
    }

    override protected function dragStartHandler(event:DragEvent):void{
        if(event.action == DragManager.MOVE)
            event.action=DragManager.COPY;
        super.dragStartHandler(event);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...