中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:134 5869 5520

文章详情

MXML语法

基础MXML语法

绝大多数的MXML标签都对应着ActionScript3.0的类或者类的属性。Flex解析MXML标签并编译成SWF文件,包含了相应的ActionScript对象。

ActionScript的语法基于ECMAScript第4版语言规范草案。ActionScript包含了以下特性:

正式的类定义语法

正式的包结构

变量、参数以及返回值的类型指定(仅适用于编译的时候)

使用get和set关键字进行的默认的获取器和设置器

继承

公共和私有成员

静态成员

转换操作符

要查看关于更多关于ActionScript 3.0的信息,请查看“使用ActionScript”。

 


命名MXML文件

MXML的文件名必须遵从一下的命名规则

文件名必须是通过验证的ActionScript标识符,意思就是说,必须以字母或者下划线(_)开头,且只包含字母,数字,以及下划线。

文件名不可以与ActionScript的类名,组件id值还有“application”这个单词相同。也不要使用mx命名空间下的MXML标签名作为文件名。

文件名必须以小写的.mxml为后缀名。

 


使用与ActionScript类对应的标签

一个MXML标签使用相同的命名规则对应着一个ActionScript类。类名使用大写字母开头,并使用大写字母将类名中的字母隔开(即帕斯卡命名法)。比如说,当一个标签对着一个类名,其属性将对应着类的属性和事件。

 


设置组件的属性

在MXML中,一个组件的属性使用相同的命名规则对应着ActionScript属性。一个属性名使用一个小写字母开头,并且使用大写字母将属性名的单词隔开(即Camel-Case,驼峰式命名法)。你可以使用标签属性设置大多数的组件属性,如下:

<mx:Label width =”50” height=”25” text=”Hello World”/>

你可以使用子标签设置所有的组件属性,如下:

<mx:Label>

<mx:width>50</mx:width>

<mx:height>25</mx:height>

<mx:text>Hello World</mx:text>

</mx:Label>

你将会非常经常地使用到子标签用于设置复杂对象的属性的值,因为某些情况下不可能将一个复杂的对象作为值指定给标签属性。在下面的例子中,你将使用子标签将ArrayList对象设置为ComboBox控件的数据提供者。

<mx:ComboBox>

<mx:dataProvider>

<mx:ArrayCollection>

<mx:String>AK</mx:String>

<mx:String>AL</mx:String>

<mx:String>AR</mx:String>

</mx:ArrayCollection>

<mx:dataProvider>

</mx:ComboBox>

通常地,使用子标签设置属性的时候,应当使得子标签的命名空间前缀(比如在前面例子中的mx:)应当与组件标签的命名空间前缀相匹配。

各个组件属性都是以下类型之一:

标量属性,比如一个数字或者字符串

标量值的数组,比如一个数字或者字符串的数组

ActionScript对象

ActionScript对象的数组

ActionScript属性

XML数据

Adobe建议使用标签属性设置标量,用子标签赋值给复杂类型,比如ActionScript对象。

 


设置标量属性

通常来说,你要指定一个标量属性作为组件标签的属性,如以下的例子所示:

<mx:Label width=”50” height=”50” text=”Hello World”/>

 


使用常量设置属性

许多组件属性的有效值都被定义成静态常量,这些静态常量被定义在ActionScript中。在MXML中,你可以选择直接使用静态常量设置属性的值,也可以使用静态常量的值,如下所示:

<!—使用静态常量设置属性。 -->

<mx:HBox width="200" horizontalScrollPolicy="{ScrollPolicy.OFF}">

...

</mx:HBox>

<!—使用静态常量的值设置属性-->

<mx:HBox width="200" horizontalScrollPolicy="off">

...

</mx:HBox>

HBox容器定义了一个名为horizontalScrollPolicy的属性定了容器的垂直滚动条的操作。在这个例子中,你将明确地设置horizontalScrollPolicy关闭垂直滚动条。

在第一个例子中,你使用了名为OFF的静态常量设置了horizontalScrollPolicy属性,其中OFF定义在ScrollPolicy类中。在MXML中,当要使用静态常量设置属性值的时候应当使用动态绑定语法。使用静态常量的优点在于Flex编译器认识错误的属性值,并将会在编译时提供问题的错误信息。

或者,你可以将静态常量的值赋值给horizontalScrollPolicy属性。静态常量的值是“off“。当你使用静态常量的值复制给属性值的时候,Flex编译器并不能发现您是否使用了不支持的值。如果你使用了错误的值,只有到了运行的时候才会发现。

在ActionScript中,你将经常地使用静态常量设置属性的值,如以下例子所示:

var myHBox:HBox = new HBox();

myHBox.horizontalScrollPolicy=ScrollPolicy.OFF;

 


设置默认属性

许多的Flex组件默认定义了一个属性。默认属性(default property)指的是,在你没有明确指定一个属性的时候隐藏在内部的内容的MXML标签属性。比如说,思考一下下面的MXML标签定义:

<mx:SomeTag>

anything here

</mx:SomeTag>

如果这个标签定义了一个名为default_property的默认属性,前面的标签定义相当于以下的代码:

<mx:SomeTag>

<default_property>

anything here

</default_property>

</mx:SomeTag>

也相等于以下的代码:

<mx:SomeTag default_property="anything here"/>

默认属性提供了设置单一属性的快捷机制。对于一个ComboBox,默认的属性就是dataProvider属性。因此下面的代码中两个ComboBox定义是相等的:

<?xml version="1.0"?>

<!-- mxml\DefProp.mxml -->

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >

<!—省略了默认属性。-->

<mx:ComboBox>

<mx:ArrayCollection>

<mx:String>AK</mx:String>

<mx:String>AL</mx:String>

<mx:String>AR</mx:String>

</mx:ArrayCollection>

</mx:ComboBox>


<!—明确的指定了默认属性。 -->

<mx:ComboBox>

<mx:dataProvider>

<mx:ArrayCollection>

<mx:String>AK</mx:String>

<mx:String>AL</mx:String>

<mx:String>AR</mx:String>

</mx:ArrayCollection>

</mx:dataProvider>

</mx:ComboBox>

并不是所有的Flex组件都定义了默认属性。要确定各个组件的默认属性,请查看Adobe Flex Language Reference(Adobe Flex 语言参考)。

当你创建自定义组件的时候,你也可以定义一个默认属性。要查看更多的信息,请查看“创建并扩展Adobe Flex 3组件“中的“自定义组件中的元数据标签“。


使用反斜杠字符转义字符

 



上一篇:FluorineFX开源库

下一篇:Asp.net如何防止图片被盗链?

友情链接

首页  |  建站学院  |  网站建设  |  成功案例  |  业务体系  |  软件定制  |  解决方案  |  联系我们  |  免责声明
中成网建公司地址:四川省成都市双楠双安东巷1号18-3-5 电话:028-6616 5255 版权所有 @ 中成网建
成都网站建设网址:www.csccd.net 邮箱:web#csccd.net
信息产业部备案号:蜀ICP备08106559号