从AS代码调用一个MXML

时间:2011-02-23 21:41:03

标签: flex actionscript air

我正在创建一个AIR应用程序,mainapp.mxml有一个按钮和VBOX。单击按钮时,应在VBOX中显示child.mxml。

如果代码也在flex中,也会很感激,因为我很容易修改标签。

任何人都可以帮我解决这个问题!提前致谢

2 个答案:

答案 0 :(得分:1)

向按钮添加一个单击处理程序,在该处理程序中创建一个child实例并将其添加到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);
}

答案 1 :(得分: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()" />

在我的示例中,单击按钮只是在“default”和“showVBox”之间交换状态。这允许玩家为你添加/删除VBox,而不是担心自己做。

免责声明:我没有测试过上面的代码,所以命名空间可能会关闭:)