Flex: перетащите на элемент списка - PullRequest
0 голосов
/ 21 октября 2010

У меня есть список с средством визуализации элементов, и я хотел бы включить перетаскивание на элементы в списке, а не добавлять данные в список.Можно ли найти предмет, который завис при перетаскивании?

1 Ответ

1 голос
/ 22 октября 2010

Вы можете сохранить данные, которые перетаскиваются из другого элемента, используя «dragHandler», когда действие перетаскивания начинается следующим образом:

<code>dragStart="dragHandler(event)"

«dragHandler» должно выглядеть так:

protected function dragHandler(event:DragEvent):void{
     yourSourceList.selectedItems;
}

Вы можете сохранить selectedItems в векторе, потому что такова природа перетаскиваемых элементов.

Затем в itemRenderer списка, куда вы собираетесь отбрасывать элементы, вы должны установить свойство «dragEnter» в элементе itemRenderer, например, в Group или SkinnableContainer:

dragEnter="dragEnterHandler(event)"

Ваш "dragEnterHandler" должен выглядеть так:

private function dragEnterHandler(e:DragEvent):void {
      DragManager.acceptDragDrop(e.currentTarget as IUIComponent);
}

Это предотвратит добавление элементов в ваш список.

И все же в вашей Группе или Skinnablecontainer вашего itemRenderer у вас должно быть установлено свойство dragDrop:

dragDrop="dragDropHandler(event)"

Тогда ваш «dragDropHandler» должен выглядеть так:

<code>private function dragDropHandler(e:DragEvent):void {
     //Do something when the elements are dropped
}

Таким образом, вам не нужно исследовать переменную события отброшенного элемента, поскольку вы уже сохранили элементы, перетаскиваемые в методе «dragHandler»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...