Линия продуктов Flex. Набор базовых утилит и библиотек для создания RIA. Работа с MXML. Основы MXML синтаксиса, страница 3

  • <mynamespace:MyComponent> <mynamespace:nameOfObjectProperty> <mx:Array> <mx:Number>94062</mx:Number> <mx:Number>14850</mx:Number> <mx:Number>53402</mx:Number> </mx:Array> </mynamespace:nameOfObjectProperty> </mynamespace:MyComponent>

  • пара тэгов <mx:Array> и </mx:Array> необязательны и могут быть опущены:
  • <mynamespace:MyComponent> <mynamespace:nameOfObjectProperty> <mx:Number>94062</mx:Number> <mx:Number>14850</mx:Number> <mx:Number>53402</mx:Number> </mynamespace:nameOfObjectProperty> </mynamespace:MyComponent>

  • object=[element] // Объект содержит массив с одним элементом
  • object=element // Объект содержит ссылку на элемент

  • Если вам нужно создать массив с одним элементом, как показано выше, в MXML, использование тэгов <mx:Array> и </mx:Array> становится необходимым:
  • <mynamespace:MyComponent> <mynamespace:nameOfObjectProperty> <mx:Array> <mx:Number>94062</mx:Number> </mx:Array> </mynamespace:nameOfObjectProperty> </mynamespace:MyComponent>

Заполнение массивов

  • Массив объектов с их свойствами можно присвоить свойству компонента прямо в MXML, если вдруг необходимо. Делается это следующим образом:
  • <mynamespace:MyComponent> <mynamespace:nameOfProperty> <mx:Array> <mynamespace:objectType prop1="val1" prop2="val2"/> <mynamespace:objectType prop1="val1" prop2="val2"/> <mynamespace:objectType prop1="val1" prop2="val2"/> </mx:Array> </mynamespace:nameOfProperty> </mynamespace:MyComponent>

  • Ниже имеем массив объектов ListItem, у каждого из которых есть два свойства.
  • <mynamespace:MyComponent> <mynamespace:dataProvider> <mx:Array> <mynamespace:ListItem label="One" data="1"/> <mynamespace:ListItem label="Two" data="2"/> </mx:Array> </mynamespace:dataProvider> </mynamespace:MyComponent>

  • Еще один пример, заполнение dataProvider:
  • <mynamespace:MyComponent> <mynamespace:dataProvider> <mx:Array> <mx:Object label="One" data="1"/> <mx:Object label="Two" data="2"/> </mx:Array> </mynamespace:dataProvider> </mynamespace:MyComponent>

Присвоение значений типа XML

  • Если свойство компонента содержит XML, 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>

Атрибуты, определяющие внешний вид и эффекты

  • Аттрибуты MXML тэгов, отвечающие за внешний вид компонентов не соответствуют свойствам с теми же именами у ActionScript классов. В ActionScript им соответствуют сеттеры, setStyle(stylename, value) В ActionScript также возможно применение метатэгов [Style] и [Effect], подробнее см. статью Использование метатэгов в пользовательских классах в Creating and Extending Flex 2 Components.
  • Свойство fontFamily MXML компонента задается примерно так:
  • <mx:TextArea id="myText" text="hello world" fontFamily="Tahoma"/>

  • Аналог на ActionScript выглядит так:
  • actionscript3
  • myText.setStyle("fontFamily", "Tahoma");

Определение обработчиков событий в MXML