MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML(标准通用标记语言下的一个子集)语言。你也可以使用MXML声明来定义程序中的非可视化组件,比如 对服务器端数据源的访问以及用户界面组件和数据源之间的数据绑定。 MXML标签与ActionScript类或者类中的属性是相对应的。当你编译你的Flex应用程序的时候,Flex解析你的MXML标签并且生成相应的 ActionScript类。然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中。

本页面主要目录有关于mxml的:基本简介、概述、代码示例、编译标签、标签规则等介绍

基本简介

MXML 首字母 M 代表 Macromedia 公司,Macromedia 公司 创造了 Flex ,Macromedia 公司在 2005 年被 Adobe 收购。

mx前缀把在mx命名空间中的每个组件映射到它的完全限定类名。这就是为什么Flex编译器可以在找到与mx命名空间中的MXML标签相对应的ActionScript类。

MXML区分大小写,且文件名和变量标示名都区分大小写。

通常情况下,flex程序以下三个文件组成:

以mxml为后缀的程序文件

以as为后缀的ActionScript文件

以css为后缀的样式表文件

概述

Flex 记录点滴 关于MXML

MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML语言。你也可以使用MXML声明来定义程序中的非可视化组件,比如

对服务器端数据源的访问以及用户界面组件和数据源之间的数据绑定。

MXML标签与ActionScript类或者类中的属性是相对应的。当你编译你的Flex应用程序的时候,Flex解析你的MXML标签并且生成相应的

ActionScript类。然后这些ActionScript类会被编译成SWF字节码存储到一个SWF文件中。

<mx:Button>标签中的 mx前缀是一个命名空间。它是通过在Application标签中使用一个独一无二的URL来声明的。mx前缀把在mx命名

空间中的每个组件映射到它的完全限定类名。这就是为什么Flex编译器可以在找到与mx命名空间中的MXML标签相对应的ActionScript

类。

MXML区分大小写,且文件名和变量标示名都区分大小写。

每个MXML文件必须以小写的“mxml”作为后缀,文件名要遵循ActionScript中变量的命名规则。

在ActionScript中,变量名必须以字母或下划线开始,且只能包含字母、数字、和下划线。

MXML文件不能命名为”application”,”application”是主程序文件所采用的默认标记,不可以再被使用,也不能和程序中任一组件的id值同名。

不可以用mx做为目录名,“mx”是Flex Framework的官方组件库的命名空间,受到flex编译码的保护。

代码示例

<?xmlversion="1.0" encoding="utf-8" ?>

<mx:Applicationxmlns:mx="http://www.*****.com/2006/mxml"

layout="absolute" backgroundGradientColors="[#000011, #333333]" >

<mx:Labeltext="Hello World!" verticalCenter="0" horizontalCenter="0" fontSize="48" letterSpacing="1" >

<mx:filters>

<mx:GlowFiltercolor="#ffffdd" />

</mx:filters>

</mx:Label>

</mx:Application>

编译标签

<mx:Binding>:绑定标签,用来进行在MXML代码中的数据绑定工作。

<mx:Component>:组件标签,定义一个文件内部可视组件的实体。

<mx:Metadata>:元数据标签,提供给flex编译器关于如何使用MXML组件信息。

<mx:Model>:模式标签,在MXML代码中定义数据模式。

<mx:Script>:ActionScript标签,用来嵌入ActionScript代码。

<mx:Style>:样式标签,用来嵌入样式表单。

<mx:XML>:MXL标签,是编译时的标签,用来从文本模式产生XML对象或XMLNode对象。

<mx:XMLList>:XMLList标签,是编译时的标签,用来欧诺个包含有效的XML节点的文本模式来产生一个XMList对象。

<mx:operation>:WebSerive的操作标签,用来定义WebSerive的操作。

<mx:request>:WebSerive的操作标签的需求项,用来定义WebSerive操作的所有需求项。

<mx:method>:RemoteObject的方法标签,用来定义RemoteObject所使用的方法。

<mx:arguments>:RemoteObject的方法标签的参数,用来定义RemoteObject所使用的方法的参数。

标签规则

MXML 标签具有以下的语法要求:

口 不是所有标签都要求有id属性。

口 所有的根标签都不能有id属性。

口 布尔属性只有true和false两个值。

口 <mx:Binding>:要求有source和destination属性,不能有id属性。

口 <WebSerive>标签要求wsdl和serviceName中的其中一项,但不能同时出现两项。