Когда я расширяю класс MX во Flex, как я могу ссылаться на него в MXML? - PullRequest
2 голосов
/ 08 января 2009

Значение, если у меня есть:

<mx:Tree>
    <!-- ... -->
</mx:Tree>

и я хочу изменить поведение элемента управления или добавить функциональность, выполнив (в AS):

class ChristmasTree extends mx.controls.Tree {
    // ...
}

как мне изменить MXML, чтобы использовать мой класс?

В руководстве говорится, как расширить компоненты через MXML , но как мне это сделать с AS?

Ответы [ 2 ]

7 голосов
/ 08 января 2009

ОК, это была лентяйка в лучшем виде. Конечно, это также в TFM , и на самом деле довольно аккуратно В AS вы делаете:

package myComponents
{
    // as/myComponents/TextAreaFontControl.as    
    import mx.controls.TextArea;

    public class TextAreaFontControl extends TextArea 
    {

        // add / change behaviour, properties etc. ...

    }

}

и затем в MXML вы делаете:

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

<!-- ... -->

<MyComp:TextAreaFontControl />

Cool.

1 голос
/ 20 августа 2010

я думаю не совсем то же самое ...

ваш второй пример - только импорт пользовательского компонента TextArea в основное приложение, которое вы уже расширили в файле TextAreaFontControl mxml. TextAreaFontControl - это Компонент, ваш случай примерно такой:

<?xml version="1.0" encoding="utf-8"?>
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml">
    <!-- her comes the Script block and other suff -->
</mx:TextArea>

U расширяет Компонент, создавая компонент из существующего Компонента. Что за дерьмовая посылка: -P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...