2011-02-23 2 views
0

AIR 응용 프로그램을 만들고 mainapp.mxml에는 버튼과 VBOX가 있습니다. 버튼을 클릭하면 child.mxml이 VBOX에 표시됩니다.AS 코드에서 하나의 MXML 호출

태그가 쉽게 수정 될 수 있기 때문에 코드가 플렉스 인 경우 감사하게 생각합니다.

누구나 제발 어떻게 도와 드릴까요? 사전

답변

1

감사드립니다 버튼에 클릭 처리기를 추가하는 처리기에 아이의 인스턴스를 생성하고 중 VBOX에 추가 :

<mx:Button id="myButton" label="My Button" click="myButton_clickHandler(event)"/> 

그리고 핸들러 :

function myButton_clickHandler(event:Event):void { 
    var child:Child = new Child(); 
    myVBox.addChild(child); 
} 
+0

될 수 있도록 나는 위의 코드를 테스트하지 않았습니다. 하지만 코드를 실행할 때의 작은 경고 ArgumentError : 오류 # 2025 : 제공된 DisplayObject는 호출자의 자식이어야합니다. mx.managers :: SystemManager/getChildIndex() [E : \ dev \ 4.x \ 프레임 워크 \ 프로젝트 \ 프레임 워크 \ src \ mx \ managers \ SystemManager에있는 \t의 flash.display :: DisplayObjectContainer/getChildIndex() \t 다음과 같이 mx.managers.systemClasses :: ActiveWindowManager/mouseDownHandler()에서 \t으로 변경하십시오. [E : \ dev \ 4.x \ frameworks \ projects \ framework \ src \ mx \ managers \ systemClasses \ ActiveWindowManager.as : 471] – anu

0

당신이 만약 Flex 4를 사용하고 있다면 이것을 처리하기 위해 states을 사용할 수도 있습니다. 버튼은 단순히 상태를 변경하는 것, 그리고 중 VBOX는 사용자가 설정하는 중 상태에 포함되는 것 : 내 예에서

<fx:Script> 
<![CDATA[ 
    private function changeState():void { 
     currentState = (currentState == "default") ? "showVBox" : "default"; 
    } 
]]> 
</fx:Script> 
<s:states> 
    <s:State name="default" /> 
    <s:State name="showVBox" /> 
</s:states> 

<mx:VBox id="myVBox" includeIn="showVBox" /> 
<mx:Button label="Show/Hide VBox" click="changeState()" /> 

을, 버튼은 단순히 "기본"과 "showVBox"사이의 상태를 교환합니다 클릭. 이렇게하면 플레이어가 직접 VBox를 추가/제거 할 수 있습니다.

면책 조항는 : 네임 스페이스 그것은 덕분에 작동 전원 :

관련 문제