我正在开发一个Flex项目,我将不得不使用拖动和放大器。丢弃功能。 我有一个TileList填充图像作为项目,和一个画布。我使用了tilelist的“dragEnabled”和“dragMoveEnabled”属性来使图像(项目)可以拖动,但不能使画布成为可丢弃的区域。
顺便说一下,我是新手,所以请简单一点。 谢谢你
答案 0 :(得分:0)
可以手动将拖放功能添加到任何基于非列表的控件。看看:
如果您在尝试实施上述内容后仍在苦苦挣扎,请发布一些代码,我们将很乐意为您提供帮助。
答案 1 :(得分:0)
我最终制作了这段代码!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
//Import classes####################################################################
import mx.managers.DragManager;
import mx.core.DragSource;
import mx.events.DragEvent;
import flash.events.MouseEvent;
// IMAGES ###########################################################################
[Bindable]
[Embed(source="assets/images/thumb/1.jpg")]
public var photo1:Class;
[Bindable]
[Embed(source="assets/images/thumb/2.jpg")]
public var photo2:Class;
// FUNCTIONS ###########################################################################
import mx.core.DragSource;
import mx.managers.DragManager;
import mx.events.DragEvent;
import mx.controls.Alert;
private function dragEnterHandler(event:DragEvent):void {
if (event.dragSource.hasFormat("items")){
DragManager.acceptDragDrop(Canvas(event.currentTarget));
}
}
private function dragDropHandler(event:DragEvent):void {
}
]]>
</mx:Script>
<!-- ######## CONTROLS ############################################################ -->
<!-- canvas -->
<mx:Canvas dragDrop="{dragDropHandler(event)}" dragEnter="{dragEnterHandler(event)}" x="395" y="10" width="436" height="486" backgroundColor="#FFFFFF">
</mx:Canvas>
<!-- tile list -->
<mx:TileList x="0" y="10" height="100%" width="154" columnCount="1" id="tl" maxColumns="1" dragEnabled="true" dragMoveEnabled="false" allowMultipleSelection="false" >
<mx:dataProvider>
<mx:Array>
<mx:Object label="photo 1" icon="{photo1}" data="photo" />
<mx:Object label="photo 2" icon="{photo2}" data="photo" />
</mx:Array>
</mx:dataProvider>
</mx:TileList>
</mx:Application>
画布现在接受我的拖动,但是当我将图像放到它上面时,图像就会消失。我知道我必须创建一个函数来处理DragDrop事件,但我真的不知道如何获取dragSource图像。 任何帮助..我将不胜感激