flex的自定义事件
package event
{
import flash.events.Event;
public class CustomEvent extends Event
{
public var evObject:Object;
public function CustomEvent(obj:Object, type:String)
{
super(type);
evObject = obj;
}
override public function clone():Event
{
return new CustomEvent(evObject, type);
}
}
}
这个就是一个自定义控件,它和传统的区别在于可以自己传送一个参数过去,比如两个界面的参数传递。
比如这样的一个例子,当datagrid的某条记录双击之后,传递selectedItem:object到另外的一个界面中去
1、usersummary.mxml ------(子控件)
DataGrid id=myDg : doubleClickEnabled="true" doubleClick="transfer(event)"
2、 public function transfer(evt:MouseEvent):void
{
var cusEvent2 : CustomEvent = new CustomEvent(myDg.selectedItem,"itemUserData");
dispatchEvent(cusEvent2);
}
3、 accountmapping.mxml------- (userCanvas是主应用程序)
public var UserSelectedData:object='';
userCanvas.usersummary.addEventListener("itemU
相关文档:
XML 作为数据源的实例(TESTED)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="preInit()" fontSize="12" height="500">
<mx:Script>
  ......
由于avm版本的问题,flex3无法直接调用flash做的swf文件,弄了一天,最后终于想到了一个办法,将LocalConnect和flex调用as3两种方式攒在了一起,算是暂时把这个问题解决了!
存起来,留着以后修改
第一步:用flash做一个as2的文件
我在里面添加了一个按钮
在第一帧写下面的代码
mybtn.onRelease=function()
{
......
作为一个不入流的flex开发人员总结一下不入流的感悟。
我一定要记住,as中的变量的作用范围只有两种,function和class,所以要想用闭包就需要一个createFunction的东西才行,不要妄想在for循环中用闭包了。看了一下as3的参考,发现它的前世和lua还真像,as3的继承其实还是prototype来做的,就是lua的元表了, ......
首先在fademo.mxml中声明一个button,并添加一个btnClick方法:
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
......