Компонент Flex - vbox vs group Почему один компилирует, а другой нет? - PullRequest
1 голос
/ 03 июня 2011

Пытаясь понять, почему при создании компонента во Flex (Flash Builder 4) я не могу создать компонент из файла-> новый компонент и ссылочные «данные», но работает немного другой пример. Этот компонент будет использоваться в качестве расширенного средства визуализации сетки данных.

Этот компилируется нормально:

<mx:VBox xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx" height="100%" width="100%" >
    <s:RichText text="{data.presentingProblemNotes}"/>
</mx:VBox>

Этот не компилируется, не нравится data.presentingProblemNotes

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:Group>

Ошибка в переменной data: она не существует.

1 Ответ

3 голосов
/ 03 июня 2011

В компонентах mx все UIComponent имели свойство data, которое использовалось для средств визуализации элементов, но оно было удалено в компонентах Spark, поскольку не всем им это было нужно.Теперь им нужно расширить DataRenderer , чтобы он работал.В вашем конкретном случае вы можете сделать это вместо:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <s:RichText text="{data.presentingProblemNotes}"/>
</s:ItemRenderer>
...