如何在Flex中实现拖出删除?

时间:2010-03-04 20:25:47

标签: flex flex3 user-interface drag-and-drop

我有一个List组件,我希望能够使用drag& amp;掉落,但没有特定的目标。如果你使用mac,我正在寻找的行为就像Dock使用的那样;当你从控件的边界拖出一些东西时,它应该得到一个图标,表明它将被删除(OSX使用云或什么?)然后如果你释放它将被从列表中删除。

我该怎么做?

(如果我需要提供更清晰的描述,请发表评论;我会尽我所能填写)

2 个答案:

答案 0 :(得分:1)

根据我在Flex中拖放的经验,你不能简单地拖出来处理它。没有dragOut事件(不幸的是),这样就可以完成在dragInitiator周围的所有容器上编写dragOver和dragDrop监听器并相应地处理该过程的任务。

如果这些控件中的任何一个已经有特定的dragOver和dragDrop事件处理程序,那么它会更耗时并且会变得复杂。

希望这有帮助。

答案 1 :(得分:0)

没有Flex经验,我可以提供的是一些伪代码,类似于我在JavaScript中实现类似效果的方式,但希望它能让你开始。

基本上你想要做的是在你的拖动事件期间测量你正在拖动的对象的当前坐标,看它们是否与原始容器相交,当它们落在其边界之外时调用逻辑来更新图标为了表明它将被删除。然后,在放置事件上,再次检查坐标并在需要时删除该项。