Apache flex Flex-如何获取树itemClick事件以模拟itemOpen事件?

Apache flex Flex-如何获取树itemClick事件以模拟itemOpen事件?,apache-flex,actionscript-3,events,tree,Apache Flex,Actionscript 3,Events,Tree,我正在使用带有XMLListContainer数据提供程序的树控件。。。。当打开树文件夹时(使用小三角形),我使用带有以下代码的itemOpen事件来更新另一个数据提供程序-数据提供程序包含该特定树文件夹中的所有元素 private function itemOpenEvent(event:TreeEvent):void { slideDP = new XMLListCollection(event.item.elements("slide")); slideDP.r

我正在使用带有XMLListContainer数据提供程序的树控件。。。。当打开树文件夹时(使用小三角形),我使用带有以下代码的itemOpen事件来更新另一个数据提供程序-数据提供程序包含该特定树文件夹中的所有
元素

private function itemOpenEvent(event:TreeEvent):void {          
 slideDP = new XMLListCollection(event.item.elements("slide"));  
 slideDP.refresh();                     
}
如果打开第二个文件夹,则thumbDP更新正常,但单击第一个文件夹(或另一个关闭的文件夹)时,我希望发生相同的行为(当前您必须关闭并重新打开第一个文件夹)

所以我使用了itemClick事件——但这会触发ListEvent,我无法确定如何从XMLListContainer轻松获取子元素。。。下面的代码抛出一个越界异常

private function itemClickEvent(event:ListEvent):void {         
 treeFeed.getItemAt(event.rowIndex);                        
}

有人能帮忙吗?谢谢:)

我会将您的事件侦听器更改为侦听更改事件,并使用树的selectedItem属性:

private function changeHandler(event:ListEvent):void
{                  
    slideDP = new XMLListCollection(tree.selectedItem.elements("slide"));

    slideDP.refresh();                           
}
您可能需要将selectedItem转换为XML或XMLList