2009-06-26 52 views

回答

1

styleChanged()方法

public function styleChanged(styleProp:String):void 

檢測樣式屬性的更改。當設置任何樣式屬性時,Flex會調用styleChanged()方法,並傳遞給它的設置樣式的名稱。

這是一種高級方法,您可能會在創建UIComponent的子類時重寫該方法。創建自定義組件時,可以重寫styleChanged()方法以檢查傳遞給它的樣式名稱,並相應地處理更改。這使您可以覆蓋現有樣式的默認行爲,或添加您自己的自定義樣式屬性。

如果處理樣式屬性,則您對styleChanged()方法的重寫應調用invalidateDisplayList()方法,以使Flex在下次屏幕更新時執行組件的updateDisplayList()方法。

參數styleProp:String - 樣式屬性的名稱;如果此組件的所有樣式已更改,則爲null。

2

如果你想要的文本字段與容器和其他組件的Flex你可能想將其包裝在一個UIComponent,或有子類實現IUIComponentIStyleClientISimpleStyleClient接口(其中UIComponent implements). If you do the component will work with Flex' style system and every time a style changes a method called styleChanged`將被稱爲發揮很好:

public function styleChanged(styleProp:String):void 

參見http://livedocs.adobe.com/flex/3/langref/mx/core/UIComponent.html#styleChanged()

+0

啊。是啊。感謝您花時間發佈更好的答案。 +1 – 2009-06-26 17:43:32

+0

_Especially_因爲TextField不會從UIComponent繼承... – 2009-06-26 17:44:49

相關問題