如何让皮肤了解hostComponent属性值的变化?

时间:2011-10-21 22:00:20

标签: flex flex4.5 skinning flex-spark

我正在写一个组件及其皮肤。皮肤具有"selected"状态,在此状态下呈现相应的光晕。 碰巧被选中状态保存在hostComponent的属性中,该属性在外部设置/取消设置(不是通过皮肤上的直接用户交互)。

我尝试制作boolean一个hostComponent的{​​{1}}属性,并在皮肤初始化时在此属性上设置SkinPart,以触发状态更改。没有雪茄。 :(

通过ChangeWatcher

让皮肤状态发生变化的方法是什么?

1 个答案:

答案 0 :(得分:1)

What's the way to make the skin's state change through the hostComponent?

在hostComponent的属性中调用invalidateSkinState()。

这将反过来强制commitProperties在下一个渲染事件期间重新运行,这将在commitProperties运行时强制getCurrentSkinState()重新运行。

确保hostComponent实现getCurrentSkinState()并返回表示您要转到的状态的字符串值。