我无法围绕与它的主机组件相关的火花皮肤类。基本上,从我所看到的 Flex 4 框架中的大多数皮肤来看,它们并不直接公开在宿主组件中动态设置的属性。相反,它们定义了暴露给皮肤类的状态,以定义组件何时应该看起来不同。当你有一个非常简单的组件和一组标准状态时,这一切都很好而且很花哨,但是当你在你的主机组件中设置 20 个不同的属性(假设)来改变皮肤的外观时,它可能会很快变得非常复杂.
我看到他们用来解决这个问题的方法是覆盖皮肤类中的提交属性和无效函数,从那里获取他们想要的属性的值,然后将它们设置为内部的本地实例化变量皮肤类。这很好,但我觉得这只是一个补丁解决方法,它使事情变得比它需要的复杂得多。
这是我的问题:有没有办法直接从宿主组件类中公开一个可绑定的属性,这样当你定义你的皮肤类时,它就可以直接被读取了?假设您有一个布尔属性为“已选择”的自定义按钮。在皮肤类中,您希望为属性“selected”添加一个获取和设置函数,以便您可以在设置皮肤时对皮肤执行一些操作。你如何告诉皮肤类这是一个可以从宿主组件中使用的可用属性?