将选择的项目从dataggroup(数据提供程序是一个XML列表)绑定到另一个组件(FLEX 4)



大家好!

我有一个dataggroup的缩略图,它从XML列表传递到ArrayCollection。我还为数据组定制了一个项目渲染器。我不能使工作如下:当单击数据组中的缩略图时,状态更改为包含有关项目信息的页面。

我在同一个XML文件中拥有这些信息。我需要将richtext和几个标签组件的源绑定到具有XML列表中项目的不同属性的数据组中的选定项。如果它是一个简单的List组件,我会这样做:
id = " myList " dataProvider = " {myProjects。项目}"表示标签文本= " {myList.selectedItem.textexample} "

我对dataggroup的代码:

<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的项目。

我将感激任何帮助!

与其使用<s:DataGroup/>来布局拇指,不如直接使用<s:List/>。您可以将列表组件的布局设置为使用<s:BasicLayout/>,并在List上设置borderVisible="false"contentBackgroundAlpha="0",使其看起来与DataGroup完全相同,但是您现在可以访问ListselectedItem属性。

例如:

<s:List id="myThumbs" includeIn="ThumbnailList" 
        dataProvider="{myList}" 
        borderVisible="false" contentBackgroundAlpha="0"
        alpha="0.72" blendMode="luminosity"  
        x="110" y="2" width="320" height="187" 
        itemRenderer="components.CustomRenderer4Thumbs" >
    <s:layout>
        <s:BasicLayout/>
    </s:layout>
</s:List>

相关内容

  • 没有找到相关文章

最新更新