有没有办法在Flex 4 MXML组件中声明内联?如果组件中没有内联,那么在声明或库标签中? THX
答案 0 :(得分:3)
是的,你可以在声明标签中找到:
<s:Application>
<fx:Declarations>
<fx:Component className="testSkin">
<s:Skin>
<s:Rect width="100%" height="100%">
<s:fill>
<s:SolidColor/>
</s:fill>
</s:Rect>
<s:Group id="contentGroup"/>
</s:Skin>
</fx:Component>
</fx:Declarations>
<s:SkinnableContainer skinClass="{Class(testSkin)}"/>
</s:Application>
上面的代码仅仅是指导,不要指望它编译。</ p>
在我的测试中,使用内联皮肤没有性能损失。
答案 1 :(得分:2)
使用skinClass样式。
在MXML中,像这样:
<s:List skinClass="com.myCustomSkins.MyCustomListSkin" />
在ActionScript中,执行以下操作:
myListClass.setStyle('skinClass',com.myCustomSkins.MyCustomListSkin);
在CSS中,执行以下操作:
myListClass{
skinClass : ClassReference(com.myCustomSkins.MyCustomListSkin);
}
我不确定你在问题中提到的库标签是什么。这段代码来自内存,所以我的语法可能有些偏差。