我从TextField继承了一个自定义组件。组件需要知道它的任何样式何时在运行时通过setStyle被更改。我会怎么做?这可能很明显,但我找不到一个事件或适当的方法来覆盖。Flex:组件如何知道其样式之一是否已更改?
1
A
回答
1
styleChanged()方法
public function styleChanged(styleProp:String):void
检测样式属性的更改。当设置任何样式属性时,Flex会调用styleChanged()方法,并传递给它的设置样式的名称。
这是一种高级方法,您可能会在创建UIComponent的子类时重写该方法。创建自定义组件时,可以重写styleChanged()方法以检查传递给它的样式名称,并相应地处理更改。这使您可以覆盖现有样式的默认行为,或添加您自己的自定义样式属性。
如果处理样式属性,则您对styleChanged()方法的重写应调用invalidateDisplayList()方法,以使Flex在下次屏幕更新时执行组件的updateDisplayList()方法。
参数styleProp:String - 样式属性的名称;如果此组件的所有样式已更改,则为null。
2
如果你想要的文本字段与容器和其他组件的Flex你可能想将其包装在一个UIComponent
,或有子类实现IUIComponent
和IStyleClient
或ISimpleStyleClient
接口(其中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()
相关问题
- 1. 如何知道.NET C#中的文件是否已更改?
- 2. 如何知道行是否已更新
- 3. 如何知道iPhone用户SIM卡是否已更改?
- 4. 如何知道ckeditor的内容是否已更改
- 5. 如何知道是否一个std ::列表已被修改
- 6. 知道文件的内容是否已经使用Node.js更改
- 7. 如何以编程方式知道Azure存储表是否已更改?
- 8. 如何知道Office的VBA组件是否已安装?
- 9. 我想知道如何更改选项卡控件样式
- 10. 如何知道MediaScanner是否已启用?
- 11. 如何知道AVAudioPlayer是否已暂停?
- 12. React如何知道函数是否是一个组件?
- 13. 如何知道数组中的哪些数据已被更改?
- 14. 如何知道表是否是数组?
- 15. 如何知道表单是否已被修改
- 16. 如何从客户端知道表是否已更新
- 17. Android Studio如何知道图片是否已从Firebase更新?
- 18. 如何知道PHAsset是否被修改?
- 19. Windows窗体绑定问题:如何知道用户是否已更改值
- 20. 如何知道TextInput组件是否在Flex中处于活动状态
- 21. Flex:更改组件
- 22. 如何知道一个属性是否是一个数组?
- 23. 如何知道用IntelliJ Idea修改的Scala文件是否已保存并且是否已签入CVS?
- 24. 如何知道是否有一个已经锁定表的MySQL
- 25. 如何知道用户是否已下载文件
- 26. 如何知道.net事件是否已处理?
- 27. 如何知道文件是否已经存在与Firefox iMacros
- 28. 如何知道用户是否更改了选项卡?
- 29. 更改订阅时,如何知道CC是否处于分段?
- 30. 更改一个值并知道它是否在一行中更改
啊。是啊。感谢您花时间发布更好的答案。 +1 – 2009-06-26 17:43:32
_Especially_因为TextField不会从UIComponent继承... – 2009-06-26 17:44:49