在flex中XMML相当于html,提供各种标签用来定义界面显示
一般常用格式如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<mx:Label fontWeight="bold" x="288" y="201" text="Hello Wrold!!!" enabled="true" width="135" height="29"/>
</mx:Application>
mx:Application 这个相当于根目录,类似于定义一个容器(页面)
mx:Label 相当于页面里显示组件
MXML与ActionScript关系定义
与MXML联系紧密的应该是ActionScript了,因为ActionScript在flex的MVC模式开发中相当于Model,而MXML相当于View,
而MXML的标签相当于展示ActionScript中的类信息
MXML基本语法
文件命名规则:必须以字母或下划线起始,后续只能包含字母,数字和下划线,其中MXML的名称不能喝ActionScript中的类或组件名重复,也不能喝MXML中的标签名一致。以.mxml结尾
组件属性:组件属性名称可以和ActionScript中的类的属性名称一致
组件属性必须符合如下一种:
1,标量属性(数字或字符串)
2,标量值的数组(数组或字符串数组)
3,ActionScript对象
4,ActionScript对象数组
5,ActionScript属性
6,XML数据
7,样式属性
flex建议,简单的标量值定义在标签内,复杂类型定义为子标签
常数设置组件属性
使用静态恒量定义属性,这样便于flex在编译中发现不正确的属性值
"" mxml会自动跳过这个字符,如果要使用需要转义 "\"
设置样式属性
mxml中直接标签引用,ActionScript中用setStyle(stylename,value)
url值
绝对路径
<mx:Style source="路径/url">
动态路径
<mx:HTTPService url="@ContextRoot()/path">
编译路径
<mx:Script source="/">
相对路径
<mx:Script source="/">
编译标签:该类标签不与ActionScript发生直接对应关系,用于进行和数据有关的不可视设计
<mx:Binding>:绑定标签,用于数据绑定
<mx:Component>:组件标签,定义内部可视组件的实体
<mx:Metadata>:元数据标签,提供flex编译器如何使用MXML组件信息
<mx:Model>:模式标签,定义数据模式
<mx:Script>:用于嵌入ActionScript代码
<mx:Style>:样式标签,嵌入样式表单
<mx:XML>:XML标签,编译时标签,用于从文本模式产生XML对象或XMLNode对象
<mx:XMLList>:XMLList标签,用来包含有效XML节点的文本模式产生XMLList对象
<mx:operation>:WebService标签,用来定义WebService操作
<mx:request>:WebService操作标签,用来定义WebService的操作所需要的需求项
<mx:method>:RemoteObject方法标签,定义RemoteObject所使用的方法
<mx:arguments>:RemoteObject方法标签参数,
标签规则:
1,不是所有的标签都需要id属性
2,所有的根标签不能有id属性
3,布尔值只有true,false
<mx:Binding>:必须有source,destination属性,且不能有id属性
<mx:WebService>:wsdl或serviceName两者必须且只含其一
<mx:RemoteObject>:source或name两者必须且只含其一
<mx:HTTPService>:url或serviceName两者必须且只含其一
<mx:operation>:须有name值,但不允许重复,不能有id
<mx:method>:须有name值,但不允许重复,不能有id