MyComponent.mxml:
<?xml version="1.0"?>
<mx:Canvas ... >
<fx:Script>
[Bindable]
public var headingText:String = "Default Heading Text";
</fx:Script>
<s:VGroup>
<s:Label text="{headingText}" ... />
(INSTANCE MXML)
</s:VGroup>
<mx:Image ... />
</mx:Canvas>
Text :
<my:MyComponent headingText="Custom Heading Text" />
, ; , , , ( ).
(, INSTANCE MXML). , :
<my:MyComponent>
<my:thePropertyName>
<s:Label text="whatever..." ... />
<(OTHER MXML CONTENT) />
</my:thePropertyName>
<my:someOtherPropertyName>
....
</my:someOtherPropertyName>
</my:MyComponent>
, , mxmlContent spark.components.Group flex. , , - ; ( <fx:Script> mxml - AS-):
[1]
Array, ArrayElementType, , .
[ArrayElementType("mx.core.IVisualElement")]
public function set mxmlContent(value:Array):void {
_mxmlContent = value;
}
private var _mxmlContent:Array;
[2] . createChildren . setMXMLContent() Group. , :
override protected function createChildren():void {
super.createChildren();
if( _mxmlContent == null ) return;
for (i = 0; i < _mxmlContent.length; i++) {
var elt:IVisualElement = _mxmlContent[i];
addElement(elt);
}
}
, mxmlContent, mxml :
<my:MyComponent>
<my:mxmlContent>
... (MXML ELEMENTS HERE) ...
</my:mxmlContent>
</my:MyComponent>
default property , : [DefaultProperty("mxmlContent")] . mxml, <fx:Metadata>. . , , fx: .
, , :
<my:MyComponent headingText="Custom Text Here">
(CUSTOM MXML CONTENT HERE)
</my:MyComponent>
: :
"Halo" (, mx:Canvas) addElement(), , , , addChild().
() . , <s:Group> <mx:Canvas>. , mxmlContent, . , content ( ), - .