flex学习之旅--------MXML学习

在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

原文地址:https://www.cnblogs.com/feicheng/p/6708047.html