Flex自定義事件用法指南
本文和大家重點討論一下Flex自定義事件的用法,事件是一個非常有用的功能,通常用于信息傳遞交互大大提高程序編寫的靈活性。
Flex自定義事件
事件是一個非常有用的功能,通常用于信息傳遞交互大大提高程序編寫的靈活性。在高級語言中都會集成這方面特性;Flex也不例外幾乎所有控件中都集成了大量的事件,如果Button的Click事件等。但實際應(yīng)用中控件自有的事件是不能滿真實需要的,特別在自己編寫自定義控件時,自定義控件內(nèi)部信息的改變?nèi)绾渭皶r通知所在的容器變得很更要;這個時候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事件參數(shù)的定義:
- importflash.events.Event;
 - publicclassDataChangeEventextendsflash.events.Event
 - {
 - publicfunctionDataChangeEvent()
 - {
 - super("DataChange");
 - }
 - publicvarData:Object;
 - }
 
在Flex自定義控件中定義和觸發(fā)事件:
- <?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>
 
 
容器接收相關(guān)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自定義事件的現(xiàn)實也很簡單,但起著非常重要的作用;正是因為有了事件的機制,使得大部分重復(fù)的功能抽取到自定義控件中,從而達(dá)到一個很高的代碼重用性。
【編輯推薦】
- 解析Flex渲染器的使用
 - Flex主題創(chuàng)建及支持的樣式設(shè)置方式
 - 全面認(rèn)識Flex應(yīng)用程序的六大元素
 - 揭開Flex正則表達(dá)式的神秘面紗
 - Flex數(shù)據(jù)綁定及其使用頻繁的幾種情況
 















 
 
 
 
 
 
 