Можно ли получить доступ к объявленному компоненту как IFactory в классе MXML? Я использовал этот стиль объявления фабрик много раз для Skin Parts, но я никогда не понимал, как получить доступ к этим фабрикам из MXML.
Вот пример того, что я ожидал бы работать:
<fx:Declarations>
<fx:Component id="labelDisplay">
<s:Label fontSize="12" fontWeight="bold"/>
</fx:Component>
</fx:Declarations>
<fx:Script>
<![CDATA[
override protected function createChildren():void
{
super.createChildren();
var label1:Label = labelDisplay.newInstance();
addElement(label1);
var label2:Label = labelDisplay.newInstance();
addElement(label2);
var label3:Label = labelDisplay.newInstance();
addElement(label3);
}
]]>
</fx:Script>
* редактировать *
Причина, по которой я надеялся, что приведенный выше код сработает, основана на том, как обрабатываются динамические части скина в архитектуре скинов Spark. Если приведенный выше код является частью класса обложки MXML, то в моем хост-компоненте я мог бы иметь следующее.
[SkinPart(required="true",type="spark.controls.Label")]
public var labelDisplay:IFactory;
В архитектуре скинов Spark, в какой момент превращается в IFactory?