绝大多数MXML标识符合AS2.0规范,MXML文件编译产生的SWF文件包含相应的AS对象。
AS2.0是一种面向对象的语言,符合ECMAScript第4版规范。
MXML文件的命名规范:
1 : 必须符合AS的命名规范,以字母或下划线开头;
2 : 不得使用AS的类名、组件ID标识和命名空间的MXML标识作为文件名;
3 : 文件名必须用小写的.mxml作为后缀名。
在MXML文件中,组件的属性使用和AS类相同的命名约定,以小写字母开头,每个单词的开头字母大写。你可以有两种方式设置属性的值:使用标记的属性或者子节点标记。Macromedia推荐使用标记的属性来设置一般组件属性,复杂的组件属性用子节点来完成。MXML的组件属性包含如下:
标量属性(包括数字及字符串)
如:
<Label width='50' height='25' text='Hello World'/>
注意:属性的值不能包含@符号
数组属性
<mx:List>
<mx:dataProvider>
<mx:Array>
<mx:Number>94062</mx:Number>
<mx:Number>14850</mx:Number>
<mx:Number>53402</mx:Number>
</mx:Array>
</mx:dataProvider>
</mx:List>
脚本对象
因为脚本对象比较复杂,所以一般使用子节点的方式来设置属性的值,如:
<mynamespace:MyComponent>
<mynamespace:nameOfProperty>
<objectType prop1='val1' prop2='val2'/>
</mynamespace:nameOfProperty>
</mynamespace:MyComponent>
脚本对象数组
<mynamespace:MyComponent>
<mynamespace:dataProvider>
<mx:Array>
<mynamespace:ListItem label='One' data='1'/>
<mynamespace:ListItem label='Two' data='2'/>
</mx:Array>
</mynamespace:dataProvider>
</mynamespace:MyComponent>
XML数据
<mynamespace:MyComponent>
<mynamespace:value xmlns:a='http://www.example.com/myschema'>
<mx:XML>
<a:purchaseorder>
<a:billingaddress>
...
</a:billingaddress>
...
</a:purchaseorder>
</mx:XML>
</mynamespace:value>
</mynamespace:MyComponent>
样式属性
主要进行组件的样式控制,如
<mx:TextArea id='myText' text='hello world' fontFamily='Tahoma'/>
//和下面的AS代码是等效的
myText.text= 'hello world';
myText.setStyle('fontFamily', 'Tahoma');
编译标记
编译标记并不直接对应AS类或其属性,主要有:
<mx:Binding>
<mx:Effect>
<mx:Model>
<mx:Script>
<mx:Style>
<mx:Metadata>
<mx:operation>
<mx:request>
<mx:method>
<mx:arguments>
注意编译标记的大小写
其它注意事项
01 : id属性并不是每个MXML标记必须的;
02 : MXML的根标记不支持id属性;
03 : 布尔属性的值只允许true或false;
04 : 标记必须同时包含source和destination属性,并且不能包含id属性;
05 : 标记的field属性是必须的,并且不能包含id属性;
06 : 标记必须包含wsdl或者serviceName属性,并且不能同时使用;
07 : 标记必须包含source或者named属性,并且不能同时使用;
08 : 标记必须包含url或者serviceName属性,并且不能同时使用;
09 : 标记必须包含name属性,并且不能包含id属性;
10 : 标记必须包含name属性,并且不能包含id属性。
posted on 2006-04-29 13:39
blog搬家了--[www.ialway.com/blog] 阅读(526)
评论(0) 编辑 收藏 所属分类:
Flex