R – Flex: How does a component know whether one of its styles got changed

actionscript-3apache-flexflex3

I inherited a custom component from TextField. The component needs to know when any of its styles got changed at runtime via setStyle. How would I do that? It's probably obvious but I couldn't find an event or appropriate method to override.

Best Answer

styleChanged () method

public function styleChanged(styleProp:String):void

Detects changes to style properties. When any style property is set, Flex calls the styleChanged() method, passing to it the name of the style being set.

This is an advanced method that you might override when creating a subclass of UIComponent. When you create a custom component, you can override the styleChanged() method to check the style name passed to it, and handle the change accordingly. This lets you override the default behavior of an existing style, or add your own custom style properties.

If you handle the style property, your override of the styleChanged() method should call the invalidateDisplayList() method to cause Flex to execute the component's updateDisplayList() method at the next screen update.

Parameters styleProp:String — The name of the style property, or null if all styles for this component have changed.

Related Topic