理解 Flex itemRenderer 第 3 部分: 通信
原文地址:http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt3.html
在本系列的第 2 部分中, 我向您展示了如何使用 MXML 和 ActionScript 创建外部 itemRenderer。在我用过的示例中, 有一个调度自定事件 BuyBookEvent 的 Button-这样应用程序可以对它作出响应。本文进一步讨论与 itemRenderer 的通信。
我坚信有一条规则是永远不能违背的: 不能抓住 itemRenderer 的实例不放, 更改它 (设置公共属性) 或调用它的公共方法。这对我而言是一个禁忌。itemRenderer 是很难弄清的, 我在第 1 部分中说到了其中的缘由: itemRenderer 是循环使用的。抓住一个会破坏 Flex 框架。
请将这条规则谨记在心, 您可以使用 itemRenderer 完成以下操作:
itemRenderer 可以通过它的列表所有者调度事件。 (您已经看到过冒泡; 这个做法更好, 接下来您就会看到。)
itemRenderer 可以使用静态类成员。其中包括 Application.application。如果您的值“全局”存储在应用程序对象中, 您可以通过这种方式获得它们。
itemRenderer 可以使用拥有它的列表的公共成员。接下来您就会看到。
itemRenderer 可以使用数据记录中的任何内容。例如, 记录中的某个项目不用于直接显示, 但它却影响 itemRenderer 的行为方式。
本系列包含以下文章:
第 1 部分: 内联渲染器
第 2 部分: 外部渲染器
第 3 部分: 通信
第 4 部分: 状态和过渡
第 5 部分: 效率
要求
为了充分利用本文, 您需要以下软件和文件:
Flex Builder 3
必要条件
要从本文中受益, 您最好熟悉 Flex Builder 和 ActionScript 3.0。
动态更改 itemRenderer
以下是上一篇文章中用于 TileList 的 MXML itemRenderer。我将使它对外部源 (我将这个文件称为 BookItemRenderer.mxml) 的更改作出反应, 从而使它更生动:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="250" height="115" >
<mx:Script>
<!--[CDATA[
]]>
</mx:Script>
<mx:Image id="bookImage" source="{data.image}" />
<mx:VBox height="115" verticalAlign="top" verticalGap="0">
<mx:Text text="{data.title}" fontWeight="bold" width="100%"/>
<mx:Spacer height="20" />
<mx:Label text="{data.author}" />
<mx:Label text="Available {data.date}
相关文档:
Flex是Macromedia发布的presentation server(展现服务),它是java web
container或者.net
server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的
flash player或者shockwave player解释执行,给用户以丰富的客户体验。
大名鼎鼎的Macromedia Flash是强大 ......
Getting Around Bug in Adobe Flex: TabControl Inline Event Handling for TabIndexChange Doesn't Work
I ran into this because I wanted to do something funky. I wanted my Flex app window to change PageStates (and size) whenever the TabIndex changed. Whether doing this kind of thing is wise ......
对AS、Flex等知识进行汇总,方便大家学习和查找……
温馨提示:
1.下载教程请注意方法,鼠标右键点击链接从弹出菜单中选择迅雷等工具下载,服务器有时太繁忙还请耐心等待一下;
2.单个教程的分卷压缩包请全部下载后解压,否则解压会出现缺包的情况导致解压失败;
3.如还有问题,可以利用三种方法提出:
......
刚接触flex. 在用HTTPService获取XML格式数据再绑定给DataGrid时.遇到一个很"奇怪"的问题 就是当xml的条目小于等于1时,就会出错. 很是郁闷了一段时间 后来才发现. 问题即不是出在HTTPService上,也不是出在DataGrid上. 而是出在 RESULT_FORMAT_E4X 型数据类型转化为ArrayCollection上 原来 event.result 返回的是ob ......