2009-06-26 58 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

相关问题