我在围绕与其主机组件有关的spark皮肤类中缠绕我的头时遇到问题。基本上,从我所见过的大多数Flex 4框架中的每个皮肤都看不到在主机组件中动态设置的属性。相反,他们定义暴露于外观类的状态,以定义组件外观的不同。当你有一个非常简单的组件和一组标准的状态时,这是非常好的,而且当你有20个不同的属性(假设)设置在你的主机组件中,应该改变皮肤的外观时,它可能非常快速地变得非常复杂。将属性暴露给Spark皮肤类
我已经看到他们用来解决这个问题的方式是通过覆盖commit属性和无效的外观类中的函数,从那里获取他们想要的属性的值,然后将它们设置为本地实例化皮肤类中的变量。这很好,但我觉得这只是一个补丁解决方法,它使事情变得比需要的复杂得多。
这是我的问题: 有没有什么办法可以直接从主机组件类暴露一个可绑定的属性,所以当你定义你的皮肤类时,它可以直接读取?假设你有一个自定义按钮,其布尔属性为'selected'。在皮肤类中,您希望为属性'selected'添加get和set函数,以便您可以在皮肤设置时对其执行一些操作。你如何告诉皮肤类,这是你可以从主机组件中使用的一个可用属性?
谢谢你试图解决这个模糊的问题!哈哈......虽然通过提及HostComponent元数据标签来敲击头部......基本上我试图做的是从主机组件访问属性并根据它的值在皮肤上执行操作... I在我的MXML中添加了hostcomponent标签,但是我错误地认为元数据主机组件标签会直接将我的主机组件的属性公开给皮肤......它没有点击它只给出一个-reference-它被调用'主机组件',将公开我想要的属性 –
顺便说一句,你完成这项任务的其他过程也是非常好的想法以及我知道的,但它不是点击,那就是如何实现这些过程 –