【问题标题】:Drag and drop item renderer(panel) within list在列表中拖放项目渲染器(面板)
【发布时间】:2012-01-11 08:42:16
【问题描述】:

我有一个spark List,它的item renderer是一个panel,在panel中有一些组件比如Textinput,现在我想在List中拖拽一个panel,请问怎么做?给我代码,谢谢。

【问题讨论】:

    标签: apache-flex drag-and-drop


    【解决方案1】:

    flex 中的列表具有默认的拖放功能。所以基本上你需要做的就是将 3 个属性设置为 true 到你的列表: dragMoveEnableddragEnableddropEnabled。因此,如果您从 mxml 添加它,您的列表将如下所示:

    <s:List dataProvider="{yourDataProvider}" dragMoveEnabled="true" dragEnabled="true" dropEnabled="true" />
    

    有关这 3 个属性的更多详细信息,您可以查看火花列表文档: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/List.html#dragMoveEnabled

    【讨论】:

      【解决方案2】:

      感谢您的帮助。现在我在拖动 itemRenderer 时遇到错误(我的 flex sdk 是 4.5.1)。 我的列表项渲染器:

      <?xml version="1.0" encoding="utf-8"?>
      <s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                  xmlns:s="library://ns.adobe.com/flex/spark" 
                  xmlns:mx="library://ns.adobe.com/flex/mx" 
                  width="100%" height="100%">
          <fx:Script>
          <![CDATA[
              import mx.events.CloseEvent;
      
      
              override public function set data(value:Object ) : void{
                  super.data = value;
              }
      
              protected function closeHandler(event:CloseEvent):void
              {
                  //ToDo
              }
      
          ]]>
      </fx:Script>
          <s:TitleWindow x="0" y="0" title="{data.label}"
                     width="100%" height="100%" creationPolicy="all"
                     skinClass="skin.titleWindowSkin" 
                     close="closeHandler(event)">
          <s:Label text="{data.value}"/>
      
          <s:TextInput x="123" y="58" text="@{data.value}" 
                       focusIn="parentDocument.owner.dragEnabled=false" 
                       focusOut="parentDocument.owner.dragEnabled=true"/>
      
      </s:TitleWindow>
      </s:ItemRenderer>
      

      在拖动时,遇到如下错误: 错误:无法找到 DragProxy261.ListItemDragProxy260.DspDesktopItemRenderer262._DspDesktopItemRenderer_TitleWindow1.titleWindowSkin264.Group265.contents._titleWindowSkin_Group5.contentGroup._DspDesktopItemRenderer_TextInput1 的皮肤。 在 spark.components.supportClasses::SkinnableComponent/attachSkin()[E:\dev\4.5.1\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:698]

      【讨论】:

        猜你喜欢
        • 2020-09-15
        • 2014-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        相关资源
        最近更新 更多