Как получить значение идентификатора из одного файла MXML в другой файл MXML в Flex? - PullRequest
0 голосов
/ 21 июля 2011

My Apllication во Flex 3.5 ... Мой код здесь, Как принять значение id textare? Button.Mxml

<mx:Button width="20" height="20" label="TextArea" id="textarea" click="setShape(DrawObject.TEXT);showTextArea()"/>

Мой другой файл находится здесь: Main.Mxml

 private function doMouseDown_canvas():void
                    {
                            if(this.shapeStyle==DrawObject.TEXT)
                            {
                                    if(isDrawing)
                                    {
                                            isDrawing = false;
                                            this.d = drawFactory.makeDrawObject(this.shapeStyle,segment, this.drawColor, this.thickness, textarea.text);
                                            dispatchEvent(new Event(BoardMediator.SEND_SHAPE));

                                    textarea.visible = false;
                                    }else
                                    {
                                            isDrawing = true;
                                            x1 = canvas.mouseX;
                                            y1 = canvas.mouseY;
                                            segment.push(x1);
                                            segment.push(y1);

                                            textarea.text = "";
                                    textarea.visible = true;
                                            textarea.x = canvas.mouseX;
                                            textarea.y = canvas.mouseY;
                                            textarea.setFocus();

                                            locateEditor();
                                    }
                            }else
                            {
                                    isDrawing = true;
                                    x1 = canvas.mouseX;
                                    y1 = canvas.mouseY;
                                    segment.push(x1);
                                    segment.push(y1);
                                    canvas.rawChildren.addChild(feedback);
                            }
                    }

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

MxmlOne.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark" 
                xmlns:mx="library://ns.adobe.com/flex/mx">
    <s:Button id="myBtn" label="something"/>
</s:Panel>

MxmlTwo.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[

            private function someFunc():void
            {
                myPanel.myBtn.label = 'Some label';
            }
        ]]>
    </fx:Script>
    <MxmlOne id="myPanel"/>
</s:WindowedApplication>
0 голосов
/ 21 июля 2011

Вы должны где-нибудь использовать Button.mxml ...!? установка идентификатора чего-либо в файле mxml делает этот объект открытым атрибутом соответствующего класса.

, если <mx:Button> - единственное, что внутри вашего button.mxml, избавьтесь от идентификатора внутри button.mxml и установите его снаружи.

если у вас есть окружающий контейнер, например, HGroup, вы можете получить к нему доступ со своего главного сервера следующим образом:

<myNS:Button id="myButton" />

и в теге fx:Script:

myButton.textarea;

ура

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