易截截图软件、单文件、免安装、纯绿色、仅160KB

如何从 itemRenderer 中分派事件[Flex][翻译]

原文:How to dispatch an event from a custom item renderer
从 MXML 组件中分派事件并不困难,但是想要从 itemRenderer 中分派事件就没有那么直接了。下文中,我们将回顾一下这两种情况的处理方式并找出一个合适的解决方案。
正常情况下,当你想从 MXML 组件中分派一个事件时会使用如下的元数据标签:
<!-- 写在某个组件中 -->
<mx:metadata>[Event(name="myEvent")]</mx:metadata>
元数据标签让你能在另一个类中以如下方式监听事件:
<!-- 写在调用上面定义的那个组件的类中 -->
<nw:somecomponent myEvent="onSomeEventHandler(event)"/>
最后,当你想在组件中分派事件时可以手工的使用 dispatchEvent() 方法来分派。
但是如果你是想从一个作为 itemRenderer 的组件中分派事件的话会如何呢?考虑一下以下的情况:
在 Flex 应用程序中新建一个 List 组件。然后新建一个包含有 RadioButton 的组件用于 List 的 itemRenderer。当用户单击 RadioButton 时,可能你会想让他的父组件 List 产生一个事件。
但是如下的代码会产生一个编译器错误,因为 List 组件并没有“myEvent”属性:
<!-- 会产生一个编译器错误 -->
<mx:list id="myList" dataprovider="{listData}"
       itemRenderer="uk.nwebb.CustomRenderer"
       myEvent="onSomeEventHandler(event)" />
由于我们并没有实例化自己的 itemRenderer,如何才能获得广播出来的事件呢?要想实现这样的功能,必须通过下面的两个步骤:
首先,我们必须让我们分派的事件上浮,只要在方法中添加一些而外的参数就可以做到。如下设置 bubble 和 cancelable 参数:
//写在某个组件中
dispatchEvent("myEvent", true, true);

//由于原文比较老,上面这个写法是 Flex 2 的。Flex 3 的后面两个参数要赋到 Event 实例里面。
//Flex 3 代码如下
dispatchEvent(new Event("myEvent", true, true));
现在 List 组件仍然还是没有 myEvent 属性。为了能让 List 组件接收到上面分派的事件,我们必须确保这个 List 组件有 ID,然后可以在初始化函数或者 creattionComplete 函数中绑定事件:
//写在创建 List 组件的类中
private function onInit():void
{
    myList.addEventListener("myEvent", myEventHandler);
}
据我所


相关文档:

Flex 全屏显示方法

http://blog.sina.com.cn/s/blog_5fc933730100iigh.html     参考
1,修改html-template下的index.template.html文件…增加四行
  1<!-- saved from url=(0014)about:internet -->  
  2<html lang="en">  
&n ......

关于flex在做项目中遇到的问题

最近用flex来做一个工作流定义编辑器。在网上找了很多例子,也学到了不少东西。
flex是adobe公司出的对于flash的一个产品。对于学过java的人来说再简单不过了。这里也不多说了,就对于这几天在项目中遇到的问题谈一下自己的解决方法与认识。
一、flex中将自己的一个Canvas变成为图片,保存到本地。
 var bitmapData ......

Flex 开发辅助工具 Flex Explorer(4合1)

 Flex3样式设计工具(Flex  Explorer) 说明:
Flex  Explorer非常适合初学者使用,他可以让你快速上手FLEX设计。AIRIA
将 Flex3 component  Explorer ,Flex Style Explorer,Flex Filter Explorer,Flex Primitive Explorer打包提供下载。其中 Flex3 component  Explorer
包含了FLEX经 ......

as 运算符(FLEX)

as 运算符是 ActionScript 3.0 中的新增运算符,也可用来检查表达式是否为给定数据类型的成员。但是,与 is 运算符不同的
是,as 运算符不返回布尔值,as 运算符返回表达式的值(代替 true)或 null(代替 false)。下面的示例演示在检查 Sprite 实例
是否为 DisplayObject、IEventDispatcher 和 Number 数据类型的成员这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号