BorderContainer皮肤文件以某种方式为空

时间:2010-06-19 20:35:07

标签: flex flex4

当我生成皮肤文件时,我们假设s:Button,它们包含所有与设计相关的代码,如图形,标签等,但是当我创建一个BorderContainer的皮肤文件时,它创建时没有任何设计代码和事件contentGroup部分被评论,我不知道如何使用它。

你能指导我如何改善它的皮肤文件吗?

<?xml version="1.0" encoding="utf-8"?>

                  [HostComponent( “spark.components.BorderContainer”)]     

<!-- states -->
<s:states>
    <s:State name="disabled" />
    <s:State name="normal" />
</s:states>

<!-- SkinParts
name=contentGroup, type=spark.components.Group, required=false
-->

2 个答案:

答案 0 :(得分:1)

将皮肤元素添加到组件

然后在底部添加这一行:

<s:Group id="contentGroup" left="0" top="0" right="0" bottom="0"/>

这将在皮肤上创建一个组。 在这样做之后,它应该充当传统的边境容器。

答案 1 :(得分:1)

这应该更好地解释一下......来自Abobe的文档.... “注意:因为你使用CSS样式和类属性来控制BorderContainer容器的外观,所以通常不会创建自定义外观如果你确实创建了一个自定义皮肤,你的皮肤类应该应用任何样式来控制容器的外观。“ http://help.adobe.com/en_US/flex/using/WS03d33b8076db57b9466e6a52123e854e5d5-8000.html

也...

我注意到你是否正在使用文件下的向导 - &gt;新的MXML皮肤你不会看到BorderContainerSkin可用。你正在做的是实际创建一个派生自BorderContainer(一个组件类,而不是皮肤类)的MXML类,因此它没有任何图形和绘图方法。好像你正在尝试创建错误类型的类。

与Flex 4中的大多数皮肤不同,BorderContainerSkin类实际上是一个Actionscript类。所以....几个选项......

1)您可以扩展BorderContainerSkin

goto:File - &gt; New - &gt; Actionscript Class - &gt;在SuperClass字段中键入BorderContainerSkin并在它出现时选择它,命名你的新皮肤类,你应该很高兴。

2)创建自己的

BorderContainerSkin扩展了Skin,因此您可以在BoderContainerSkin中引用代码并创建自己的actionscript类,使用自定义逻辑扩展Skin。

希望这个帮助