0

我的 mxml 应用程序中有两个 tilelist。项目(图像和标签)由 itemrenderer 渲染。我想要实现的功能:将图像从 tilelist #1 拖放到 tilelist #2 上(然后将启动带有 sql 查询的 httpservice)。

我将如何解决这个问题?(高级信息就足够了)。我遇到的主要问题是我不知道如何从 main 调用方法到我的 itemrenderer。我想在渲染器中编写 d&d 功能,但我不知道如何从渲染器中访问监视列表 #2。main.mxml中的相关代码:

<s:Panel id="panel"  width="100%" height="100%" title="Watchlist">
<s:layout>
<s:VerticalLayout paddingBottom="5" paddingLeft="20"
                          paddingRight="20" paddingTop="5"/>
    </s:layout>
    <s:Label width="20%" fontSize="17" fontWeight="bold" text="Your watched movies"/>
    <mx:TileList id="myWatchedList_tile" height="360" borderVisible="false" width="80%"
                 columnCount="5" columnWidth="200"
                 itemRenderer="components.TileListItemRenderer" rowCount="1" rowHeight="360"/>
    <s:Label width="20%" fontSize="17" fontWeight="bold" text="Your to watch movies"/>


    <mx:TileList id="myToWatchList_tile"  height="360" borderVisible="false" width="80%"
                 columnCount="5" columnWidth="200"
                 itemRenderer="components.TileListItemRenderer" rowCount="1" rowHeight="360" />

</s:Panel>

项目渲染器:

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
     borderVisible="false" horizontalAlign="center" verticalAlign="middle"
     xmlns:components="components.*">



    <mx:Image source="{data.poster_url}" />
    <mx:Label text="{data.movie_title}" height="20" />
</mx:VBox>
4

2 回答 2

0

替代解决方案可能是使用火花列表(使用 TileLayout) - 然后您可以轻松地在列表之间使用拖放:http: //help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7cfd.html

..并启动服务以响应“drop”事件(事件将引用丢弃的图像)

于 2012-12-15T00:50:11.823 回答
0

您可以使用该outerDocument对象访问项目渲染器之外的方法。确保它们是(范围)公共方法。

http://www.adobe.com/devnet/flex/articles/itemrenderers_pt1.edu.html

于 2012-12-13T13:22:43.173 回答