在组件之间拖拽n掉落
问题描述:
我有一个flex项目,由几个自定义组件组成,这些组件主要基于VBox
,其中某些形式或时尚的列表范围从Tree
到AdvancedDataGrid
。我的主要观点 由两个自定义组件组成,其中一个包含Tree
和其他AdvancedDataGrid
。在组件之间拖拽n掉落
在这些组件中使用标准的内置d-n-d,我无法执行d-n-d。所以我实现了 d-n-d使用DragManager
和必要的事件(mouseDown
,dragEnter
和dragDrop
)在那些 组件和那些工作。但是,这种方法似乎会使其他事件复杂化,例如 双击和右键单击操作。
有没有解决方案,有这种类型的方法本机d-n-d?
LeftSide.mxml:
<VBOX>
<Tree/>
</VBOX>
RightSide.mxml:
<VBOX>
<AdvancedDataGrid/>
</VBOX>
main.mxml:
<Application>
<HBOX>
<LeftSide/>
<RightSide/>
</HBOX>
</Application>
答
我不这么认为.... 但什么我很久以前才开始拖动,如果用户按住鼠标并持续一段时间或一段时间已经证明了它的距离。我不记得具体细节,但我会尽力挖掘我很快就做到了。
对不起,我一直用自定义列表控件替换旧的拖动方法。创建一个DraggableTreeControl来实现拖动是一个可行的解决方案吗? – Aethex 2009-08-25 17:56:59
它可能......我还必须为其他端创建一个DraggableAdvancedDataGrid(或其他)或只是拖动启动器?另外,是否还有什么特别的事情需要进入dragDrop事件来纠正查看下拉列表中该项目已被删除的位置? – Los 2009-08-25 21:00:19
看到这个网站: http://www.adobe.com/devnet/flex/quickstart/adding_drag_and_drop/ 你可能知道它的大部分,但它可能是有用的。还可以尝试查看List控件的源代码 - 它具有内置的拖放支持。 至于DraggableAdvancedDataGrid,可能,但它取决于AdvancedDataGrid已有的各种设施。 – Aethex 2009-08-26 01:22:00