在我的应用程序中,我有一个图表,我想在单击时显示在TitleWindow中。Flex TitleWindow.addChild删除原始对象
var win:TitleWindow = PopUpManager.createPopUp(this, TitleWindow, false) as TitleWindow;
win.addChild(myChart);
PopUpManager.bringToFront(win);
它确实将图表放置在显示的标题窗口中,但它从父级删除了原始图表。然后,当标题窗口关闭时,我的图表就消失了。我无法弄清楚如何克隆图表 - 我尝试过的所有方法都失败了 - 我不知道为什么会发生这种情况。
解决方案:
public var barChart:BarChart;
public function onClick(e:Object):void
{
barChart = (e as BarChart);
if(barChart != null)
{
var win:MyWindow = PopUpManager.createPopUp(this, MyWindow, false) as MyWindow;
PopUpManager.centerPopUp(win);
}
}
// ... MyWindow.mxml ...
var _parent:Object;
private function creationComplete(e:Event):void
{
bChart = parentApplication.barChart;
_parent = bChart.parent;
this.addChild(bChart);
}
private function onMyWindowClose(evt:CloseEvent):void {
_parent.addChild(bChart);
PopUpManager.removePopUp(this);
}
嘿,我来这里发布这个确切的解决方案。 – FlexMan 2009-12-21 09:20:19