大家好日子!
我有一个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的项目。
我将不胜感激任何帮助!
答案 0 :(得分:0)
不要使用<s:DataGroup/>
来布局您的Thumb,而是继续使用<s:List/>
。您可以将列表组件的布局设置为使用<s:BasicLayout/>
,并在borderVisible="false"
上设置contentBackgroundAlpha="0"
和List
,使其看起来与DataGroup
完全相同但是,您现在可以访问selectedItem
的{{1}}属性。
例如:
List