在 Spark 列表中启用拖动移动,同时不允许使用 ctrl+单击复制元素



我在使用 Flex 4.6 AIR 应用程序中的 Spark List 控件时遇到问题。 这是一个具有单个列表的屏幕,我们希望用户能够对列表中的项目重新排序。 我能够让重新排序正常工作。 问题是您可以通过按住 CTRL 在列表中创建新项目将拖放项目。 我试图对这个问题进行一些谷歌搜索,但还没有找到解决这个问题的方法。 有人有什么想法吗? 任何帮助将不胜感激!

这是我用于列表的代码:

 <s:List id="sampleList" left="10" top="10"
                alternatingItemColors="[0xEFF3FA, 0xFFFFFF]" dataProvider="@{sampleItems.list}"
                dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"
                labelField="name"
                right="10" bottom="72"
                width="300" height="350"/>

我能找到的唯一方法是在其中一个拖动事件上放置一个处理程序,并检查用户是否正在移动该项目。

 private function dragHandler(event:DragEvent):void
 {
      if (event.action != 'move')
      {
           event.preventDefault();
      }
 }
 <s:List id="sampleList" left="10" top="10" dragDrop="dragHandler(event);"
            alternatingItemColors="[0xEFF3FA, 0xFFFFFF]" dataProvider="@{sampleItems.list}"
            dragEnabled="true" dragMoveEnabled="true" dropEnabled="true"
            labelField="name"
            right="10" bottom="72"
            width="300" height="350"/>

最新更新