将所选项从DataGroup(dataprovider是XML列表)绑定到另一个组件(FLEX 4)

时间:2011-04-04 17:10:25

标签: xml flex actionscript-3 data-binding datagrid

大家好日子!

我有一个DataGroup,其中包含从XML列表传递到ArrayCollection的缩略图。我还有一个数据组的自定义项呈示器。我无法工作的内容如下:当点击数据组中的缩略图时,状态更改为包含项目信息的页面。

我在同一个XML文件中有相关信息。我需要将richtext和几个标签组件的源绑定到数据组中的选定项,并使用XML列表中的项目的不同属性。它是一个简单的List组件,我会用以下方式完成它: 列表
    id =“myList”dataProvider =“{myProjects.Project}” 标签     文本= “{} myList.selectedItem.textexample”

我对DataGroup的代码

<s:DataGroup includeIn="ThumbnailList" dataProvider="{myList}" alpha="0.72" 
blendMode="luminosity" buttonMode="true" id="myThumbs" 
clipAndEnableScrolling="true" height="187" 
itemRenderer="components.CustomRenderer4Thumbs" 
d:userLabel="hos_RepeatedItem" width="320" x="110" y="2" />

渲染器的代码:     

<fx:Script>
    <![CDATA[
        [Bindable] public var counter:Number=0;
        protected function image1_clickHandler(event:MouseEvent):void
        {
            if(counter==0)
            {
            this.currentState="selected";
            moveIn.play([offsets]);
            counter=1;
            }
            else if(counter==1)
            {
            mx.core.FlexGlobals.topLevelApplication.currentState="DescriptionPagefromThumbs";
            counter=0;
            }
        }
    ]]>
</fx:Script>
<fx:Declarations>
    <s:Animate id="Larger"  duration="250">     
        <s:motionPaths>
            <s:SimpleMotionPath property="height" valueFrom="50" valueTo="100" />   
            <s:SimpleMotionPath property="width" valueFrom="50" valueTo="100" />    
        </s:motionPaths>
    </s:Animate>
    <s:Animate id="moveIn" target="{offsets}" duration="650">
        <s:SimpleMotionPath property="scaleX" />
        <s:SimpleMotionPath property="scaleY" />
        <s:SimpleMotionPath property="x" />
        <s:SimpleMotionPath property="y" />
    </s:Animate>
</fx:Declarations>
<s:states>
    <s:State name="normal"/>
    <s:State name="hovered"/>
    <s:State name="selected"/>
</s:states>  
<mx:Image height.hovered="50" click="image1_clickHandler(event)" id="image1" maintainAspectRatio="true" smoothBitmapContent="true" source="{data.Thumb}" d:userLabel="hos_RepeatedItemTH" width.hovered="50" x="0" y="0"/>

XML列表包含至少包含Title,Thumb和textexample的项目。

我将不胜感激任何帮助!

1 个答案:

答案 0 :(得分:0)

不要使用<s:DataGroup/>来布局您的Thumb,而是继续使用<s:List/>。您可以将列表组件的布局设置为使用<s:BasicLayout/>,并在borderVisible="false"上设置contentBackgroundAlpha="0"List,使其看起来与DataGroup完全相同但是,您现在可以访问selectedItem的{​​{1}}属性。

例如:

List