在列表中拖放项呈示器(面板)

时间:2012-01-11 08:42:17

标签: flex drag-and-drop

我有一个Spark列表,它的项目渲染器是一个面板,在面板中有一些组件,如Textinput,现在我想在List中拖放一个面板,我该怎么办呢,你能不能看看告诉我代码,谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

<?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]