FLEX4里如何引用另外一个mxml文件里的内容?
我有一个A.MXML和一个并列的B.MXML。A里面有一个Viewstack,ID是myViewStack。现在我在B里创建了一个linkbar想通过dataProvid...
我有一个A.MXML和一个并列的B.MXML。A里面有一个Viewstack,ID是myViewStack。现在我在B里创建了一个linkbar想通过dataProvider调用myViewStack,不知道怎么写。请高手帮帮!!跪谢!!
展开
2个回答
展开全部
FLEX4里引用另外一个mxml文件内容的方法如下:
test.mxml主界面:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:n1="com.*" layout="absolute">
<mx:ViewStack width="100%" height="100%" id="test" >
<n1:test id="test_1"/><!--第一个页面(test1.mxml文件)-->
<n1:test id="test_2"/><!--第二个页面(test2.mxml文件)-->
</mx:ViewStack>
</mx:Application>
=====test1.mxml代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
public function test1():void
{
parentDocument.test.selectedChild=parentDocument.test_2;
}
]]>
</mx:Script>
<mx:Button label="跳转到test2.mxml" click="test1()"/>
</mx:Canvas>
=====要从test2.mxml返回到test1.mxml页面:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
public function test1():void
{
parentDocument.test.selectedChild=parentDocument.test_1;
}
]]>
</mx:Script>
<mx:Button label="跳转到test2.mxml" click="test1()"/>
</mx:Canvas>
这样就可以实现简单的页面调整,类似于页面的超链接。
test.mxml主界面:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:n1="com.*" layout="absolute">
<mx:ViewStack width="100%" height="100%" id="test" >
<n1:test id="test_1"/><!--第一个页面(test1.mxml文件)-->
<n1:test id="test_2"/><!--第二个页面(test2.mxml文件)-->
</mx:ViewStack>
</mx:Application>
=====test1.mxml代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
public function test1():void
{
parentDocument.test.selectedChild=parentDocument.test_2;
}
]]>
</mx:Script>
<mx:Button label="跳转到test2.mxml" click="test1()"/>
</mx:Canvas>
=====要从test2.mxml返回到test1.mxml页面:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
public function test1():void
{
parentDocument.test.selectedChild=parentDocument.test_1;
}
]]>
</mx:Script>
<mx:Button label="跳转到test2.mxml" click="test1()"/>
</mx:Canvas>
这样就可以实现简单的页面调整,类似于页面的超链接。
展开全部
你在B的页面加一个变量
[Bindable]
public var aMxml:A; //A为你的A.MXML页面。
在A界面给B界面传值, aMxml = this; //意思是给B页面的变量aMxml赋值为当前界面
这样你就可以在B界面直接调用A页面的方法、控件....了。
如在B页面这样写:
aMxml .myViewStack.visble = true;
假设A页面有个方法为 : GetDatas();
aMxml .GetDatas(); //这样也可以执行A页面的方法
[Bindable]
public var aMxml:A; //A为你的A.MXML页面。
在A界面给B界面传值, aMxml = this; //意思是给B页面的变量aMxml赋值为当前界面
这样你就可以在B界面直接调用A页面的方法、控件....了。
如在B页面这样写:
aMxml .myViewStack.visble = true;
假设A页面有个方法为 : GetDatas();
aMxml .GetDatas(); //这样也可以执行A页面的方法
更多追问追答
追问
谢谢~! 还要请教下, 在A界面给B界面传值,aMxml = this;
这句话的意思是在A.MXML写aMxml = this; 吗? 这样会告诉我aMxml未定义
追答
是的,但是你A界面是怎么到B界面的,是点击按钮跳转到B页面,
还是B页面镶嵌在A页面中。镶嵌的话,你可以在那里直接写aMxml = this; 就像属性一样。
不知道你是哪种。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询