Flex中如何使用自定义事件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Flex自定义事件
事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性;Flex也不例外几乎所有控件中都集成了大量的事件,如果Button的Click事件等。但实际应用中控件自有的事件是不能满真实需要的,特别在自己编写自定义控件时,自定义控件内部信息的改变如何及时通知所在的容器变得很更要;这个时候Flex自定义事件就起到它的作用。
在Flex中Flex自定义事件有两种情况,分别是ActionScript和MXML中定义。
在ActionScript中定义:
[Event(name="myEnableEvent",type="flash.events.Event")] publicclassMyComponentextendsUIComponent { ... }
Flex自定义事件在MXML中定义:
<mx:Metadata> [Event(name="DataChange",type="DataChangeEvent")] </mx:Metadata>
DataChangeEvent事件参数的定义:
importflash.events.Event; publicclassDataChangeEventextendsflash.events.Event { publicfunctionDataChangeEvent() { super("DataChange"); } publicvarData:Object; }
在Flex自定义控件中定义和触发事件:
<?xmlversionxmlversion="1.0"encoding="utf-8"?> <mx:Formxmlns:mxmx:Formxmlns:mx="http://www.adobe.com/2006/mxml"width="212"height="56"> <mx:Metadata> [Event(name="DataChange",type="DataChangeEvent")] </mx:Metadata> <mx:Buttonlabelmx:Buttonlabel="Button"click="Change()"/> <mx:Script> <![CDATA[ functionChange():void { this.dispatchEvent(newDataChangeEvent()); } ]]> </mx:Script> </mx:Form>
容器接收相关Flex自定义控件事件:
<mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"xmlns:ns1="*"> <ns1:EmployeeComboxns1:EmployeeCombox="146"y="132"DataChange="onChange(event)"> </ns1:EmployeeCombo> <mx:Script> <![CDATA[ importmx.controls.Alert; functiononChange(e:DataChangeEvent) { } ]]> </mx:Script> </mx:Application>
看完上述内容,你们掌握Flex中如何使用自定义事件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。