【问题标题】:Flex Drag n Drop between Components组件之间的 Flex 拖放
【发布时间】:2010-11-22 11:24:25
【问题描述】:

我有一个 flex 项目,它由几个主要基于 VBox 的自定义组件组成 从TreeAdvancedDataGrid 的某种形式或时尚的列表。我的主要观点 由两个自定义组件组成,一个包含一个Tree,另一个包含一个AdvancedDataGrid

使用这些组件中的标准内置 d-n-d,我无法执行 d-n-d。所以我实施 d-n-d 使用 DragManager 和必要的事件(mouseDowndragEnterdragDrop) 组件和工作。但是,这种方法似乎使其他事件复杂化,例如 双击和右键单击操作。

有没有一种解决方案可以使用这种方法实现原生 d-n-d?

LeftSide.mxml:

<VBOX>
<Tree/>
</VBOX>

RightSide.mxml:

<VBOX>
<AdvancedDataGrid/>
</VBOX>

main.mxml:

<Application>
<HBOX>
<LeftSide/>
<RightSide/>
</HBOX>
</Application>

【问题讨论】:

    标签: apache-flex drag-and-drop


    【解决方案1】:

    我不这么认为...... 但是我很久以前所做的只是在用户按住鼠标并按住鼠标一段时间或将其移动一定距离时才开始拖动。我不记得具体细节了,但我会尽快找出我是如何做到的。

    【讨论】:

    • 对不起,我早就用自定义列表控件替换了旧的拖动方法。创建一个实现拖动的 DraggableTreeControl 会是一个可行的解决方案吗?
    • 它可能......我是否还必须为另一端创建一个 DraggableAdvancedDataGrid (或其他)或只是拖动启动器?另外,是否有什么特殊的东西必须进入到 dragDrop 事件中才能正确查看项目在 drop List 中的位置?
    • 查看此网站:adobe.com/devnet/flex/quickstart/adding_drag_and_drop 您可能知道其中的大部分内容,但它可能有用。还可以尝试查看 List 控件的源 - 它内置了拖放支持。至于 DraggableAdvancedDataGrid,可能,但它取决于 AdvancedDataGrid 已经拥有的各种设施。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多