Apache flex 如何在spark按钮上更改皮肤时获得通知
我有一个带有自定义skinclass的spark button子类,定义如下:Apache flex 如何在spark按钮上更改皮肤时获得通知,apache-flex,flex-spark,Apache Flex,Flex Spark,我有一个带有自定义skinclass的spark button子类,定义如下: <s:Button xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" skinClass="com.company.NvrControlButtonSkin" enabled="false"> 然后,在这个按钮子类的脚本部分,我为一个对象注册了一
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
skinClass="com.company.NvrControlButtonSkin"
enabled="false">
然后,在这个按钮子类的脚本部分,我为一个对象注册了一个setter,在这个对象上注册了一个属性侦听器。在侦听器中,我需要在皮肤本身上设置一个属性。但是,skin
属性返回的对象还不是skinClass上设置的类型。
我假设在设置实际外观之前已经调用了我的属性侦听器。现在,我希望在skin
属性实际更改时收到通知,以便我可以在skin对象上设置所需的属性
有什么我可以听的吗?有什么我可以重写的方法吗?或者有什么东西可以通知我皮肤现在已经被设置为我的自定义皮肤了吗?你很幸运,这是一个简单的修复方法<代码>SkinnableComponent(因此也包括
按钮
)实现了以下两种受保护的方法,您可以覆盖它们:
- ,每次将新蒙皮应用于零部件时调用
- ,从组件中移除当前蒙皮时调用