Apache flex 如何遍历flex中UIComponent类的子类
我正在基于存储在数据库中的XML模板动态创建一个UI组件。现在我想访问这个UIComponent类的一个子组件。我在这个班上没有看到任何儿童财产?我怎么可能遍历这个类的每个子组件,并根据代码中的某些逻辑设置其属性(这在模板本身中是做不到的) 基本上我想做的是这样的:Apache flex 如何遍历flex中UIComponent类的子类,apache-flex,actionscript-3,flex3,Apache Flex,Actionscript 3,Flex3,我正在基于存储在数据库中的XML模板动态创建一个UI组件。现在我想访问这个UIComponent类的一个子组件。我在这个班上没有看到任何儿童财产?我怎么可能遍历这个类的每个子组件,并根据代码中的某些逻辑设置其属性(这在模板本身中是做不到的) 基本上我想做的是这样的: var cover:UICoomponent = generateScreen() for each(var obj:UIComponent in cover.children){ if (obj.id =="myComponent
var cover:UICoomponent = generateScreen()
for each(var obj:UIComponent in cover.children){
if (obj.id =="myComponent"){
obj.SomProperty = "SomeValue";
}
}
任何帮助都将不胜感激。谢谢。使用
numChildren
:
var cover:UICoomponent = generateScreen()
for (var i:int = 0; i < cover.numChildren; i++)
{
var obj:UIComposer = cover.getChildAt(i) as UIComponent;
if (obj.id =="myComponent") {
obj.SomProperty = "SomeValue";
}
}
我还没有编译过这篇文章,但你已经知道了大概的意思。使用
numChildren
:
var cover:UICoomponent = generateScreen()
for (var i:int = 0; i < cover.numChildren; i++)
{
var obj:UIComposer = cover.getChildAt(i) as UIComponent;
if (obj.id =="myComponent") {
obj.SomProperty = "SomeValue";
}
}
我还没有编译过这篇文章,但你已经了解了大概的意思。这篇文章似乎只在子级下面找到了一个级别,而不是递归地找到所有子级(考虑到UI组件的xml范例,这可能是有意义的)。。。我感兴趣的是——是否有一种方法或方式可以让我找到所有的子对象(递归遍历),无论它们处于什么级别。谢谢。谢谢你。。。我知道你在做什么。。。将给它一个机会。。。尽管如此,我还是解决了这个问题,将它变成了一个单例类,并直接从代码中的某个地方设置属性(我希望将此逻辑嵌入其中)。。。但这看起来很有趣,我想试试。再次感谢。这似乎只在子级下找到一个级别,而不是递归地找到所有子级(考虑到UI组件的xml范例,这可能是有意义的)。。。我感兴趣的是——是否有一种方法或方式可以让我找到所有的子对象(递归遍历),无论它们处于什么级别。谢谢。谢谢你。。。我知道你在做什么。。。将给它一个机会。。。尽管如此,我还是解决了这个问题,将它变成了一个单例类,并直接从代码中的某个地方设置属性(我希望将此逻辑嵌入其中)。。。但这看起来很有趣,我想试试。再次感谢。
var child:UIComponent = findChild("myComponent");
child.someProperty="SomeValue";